Struct lsp_types::WorkspaceEdit
source · pub struct WorkspaceEdit {
pub changes: Option<HashMap<Url, Vec<TextEdit>>>,
pub document_changes: Option<DocumentChanges>,
pub change_annotations: Option<HashMap<ChangeAnnotationIdentifier, ChangeAnnotation>>,
}
Expand description
A workspace edit represents changes to many resources managed in the workspace.
The edit should either provide changes
or documentChanges
.
If the client can handle versioned document edits and if documentChanges
are present,
the latter are preferred over changes
.
Fields§
§changes: Option<HashMap<Url, Vec<TextEdit>>>
Holds changes to existing resources.
document_changes: Option<DocumentChanges>
Depending on the client capability workspace.workspaceEdit.resourceOperations
document changes
are either an array of TextDocumentEdit
s to express changes to n different text documents
where each text document edit addresses a specific version of a text document. Or it can contain
above TextDocumentEdit
s mixed with create, rename and delete file / folder operations.
Whether a client supports versioned document edits is expressed via
workspace.workspaceEdit.documentChanges
client capability.
If a client neither supports documentChanges
nor workspace.workspaceEdit.resourceOperations
then
only plain TextEdit
s using the changes
property are supported.
change_annotations: Option<HashMap<ChangeAnnotationIdentifier, ChangeAnnotation>>
A map of change annotations that can be referenced in
AnnotatedTextEdit
s or create, rename and delete file / folder
operations.
Whether clients honor this property depends on the client capability
workspace.changeAnnotationSupport
.
@since 3.16.0
Implementations§
source§impl WorkspaceEdit
impl WorkspaceEdit
Trait Implementations§
source§impl Clone for WorkspaceEdit
impl Clone for WorkspaceEdit
source§fn clone(&self) -> WorkspaceEdit
fn clone(&self) -> WorkspaceEdit
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for WorkspaceEdit
impl Debug for WorkspaceEdit
source§impl Default for WorkspaceEdit
impl Default for WorkspaceEdit
source§fn default() -> WorkspaceEdit
fn default() -> WorkspaceEdit
source§impl<'de> Deserialize<'de> for WorkspaceEdit
impl<'de> Deserialize<'de> for WorkspaceEdit
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>,
source§impl PartialEq for WorkspaceEdit
impl PartialEq for WorkspaceEdit
source§fn eq(&self, other: &WorkspaceEdit) -> bool
fn eq(&self, other: &WorkspaceEdit) -> bool
self
and other
values to be equal, and is used
by ==
.