Sha256: 67db5aeb5a1043d0b982241681d2e028bb45710210bc654f760e2a47fb6b9ae8
Contents?: true
Size: 1.67 KB
Versions: 3
Compression:
Stored size: 1.67 KB
Contents
module LanguageServer module Protocol module Interface class WorkspaceEdit def initialize(changes: nil, document_changes: nil) @attributes = {} @attributes[:changes] = changes if changes @attributes[:documentChanges] = document_changes if document_changes @attributes.freeze end # # Holds changes to existing resources. # # @return [{ [uri: string]: TextEdit[]; }] 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)[]] def document_changes attributes.fetch(:documentChanges) end attr_reader :attributes def to_hash attributes end def to_json(*args) to_hash.to_json(*args) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems