pub struct DocumentStateDTO {
pub URI: Url,
pub LanguageIdentifier: String,
pub Version: i64,
pub Lines: Vec<String>,
pub EOL: String,
pub IsDirty: bool,
pub Encoding: String,
pub VersionIdentifier: i64,
}Expand description
Represents the complete in-memory state of a single text document.
Fields§
§URI: UrlThe unique resource identifier for this document.
LanguageIdentifier: StringThe VS Code language identifier (e.g., “rust”, “typescript”).
Version: i64The version number, incremented on each change from the client.
Lines: Vec<String>The content of the document, split into lines.
EOL: StringThe detected end-of-line sequence (e.g., \n or \r\n).
IsDirty: boolA flag indicating if the in-memory version has unsaved changes.
Encoding: StringThe detected file encoding (e.g., “utf8”).
VersionIdentifier: i64An internal version number, used for tracking changes within the host.
Implementations§
Source§impl DocumentStateDTO
impl DocumentStateDTO
Sourcepub fn Create(
URI: Url,
LanguageIdentifier: Option<String>,
Content: String,
) -> Self
pub fn Create( URI: Url, LanguageIdentifier: Option<String>, Content: String, ) -> Self
Creates a new DocumentStateDTO from its initial content.
Sourcepub fn GetText(&self) -> String
pub fn GetText(&self) -> String
Reconstructs the full text content of the document from its lines.
Sourcepub fn ToDTO(&self) -> Result<Value, CommonError>
pub fn ToDTO(&self) -> Result<Value, CommonError>
Converts the struct to a serde_json::Value, useful for notifications.
Sourcepub fn ApplyChanges(
&mut self,
NewVersion: i64,
ChangesValue: &Value,
) -> Result<(), CommonError>
pub fn ApplyChanges( &mut self, NewVersion: i64, ChangesValue: &Value, ) -> Result<(), CommonError>
Applies a set of changes to the document. This can be a full text replacement or a collection of delta changes.
Trait Implementations§
Source§impl Clone for DocumentStateDTO
impl Clone for DocumentStateDTO
Source§fn clone(&self) -> DocumentStateDTO
fn clone(&self) -> DocumentStateDTO
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DocumentStateDTO
impl Debug for DocumentStateDTO
Source§impl<'de> Deserialize<'de> for DocumentStateDTO
impl<'de> Deserialize<'de> for DocumentStateDTO
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for DocumentStateDTO
impl RefUnwindSafe for DocumentStateDTO
impl Send for DocumentStateDTO
impl Sync for DocumentStateDTO
impl Unpin for DocumentStateDTO
impl UnwindSafe for DocumentStateDTO
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
§fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].