1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
use super::{TextDocumentEdit, TextEdit}; use std::collections::HashMap; /// A workspace edit represents changes to many resources managed in the workspace. The edit /// should either provide `changes` or `documentChanges`. If documentChanges are present /// they are preferred over `changes` if the client can handle versioned document edits. #[derive(Debug, Serialize)] pub struct WorkspaceEdit { /// Holds changes to existing resources. pub changes: Option<HashMap<String, Vec<TextEdit>>>, /// 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. /// Whether a client supports versioned document edits is expressed via /// `WorkspaceClientCapabilites.workspaceEdit.documentChanges`. pub document_changes: Option<Vec<TextDocumentEdit>>, }