class LanguageServer::Protocol::Interface::WorkspaceEdit
Attributes
Public Class Methods
# File lib/language_server/protocol/interface/workspace_edit.rb, line 5 def initialize(changes: nil, document_changes: nil, change_annotations: nil) @attributes = {} @attributes[:changes] = changes if changes @attributes[:documentChanges] = document_changes if document_changes @attributes[:changeAnnotations] = change_annotations if change_annotations @attributes.freeze end
Public Instance Methods
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`.
@return [{ [id: string]: ChangeAnnotation
; }]
# File lib/language_server/protocol/interface/workspace_edit.rb, line 52 def change_annotations attributes.fetch(:changeAnnotations) end
Holds changes to existing resources.
@return [{}]
# File lib/language_server/protocol/interface/workspace_edit.rb, line 19 def changes attributes.fetch(:changes) end
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.
@return [TextDocumentEdit[] | (TextDocumentEdit
| CreateFile
| RenameFile
| DeleteFile)
# File lib/language_server/protocol/interface/workspace_edit.rb, line 39 def document_changes attributes.fetch(:documentChanges) end
# File lib/language_server/protocol/interface/workspace_edit.rb, line 58 def to_hash attributes end
# File lib/language_server/protocol/interface/workspace_edit.rb, line 62 def to_json(*args) to_hash.to_json(*args) end