class LanguageServer::Protocol::Interface::WorkspaceEditClientCapabilities

Attributes

attributes[R]

Public Class Methods

new(document_changes: nil, resource_operations: nil, failure_handling: nil, normalizes_line_endings: nil, change_annotation_support: nil) click to toggle source
# File lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb, line 5
def initialize(document_changes: nil, resource_operations: nil, failure_handling: nil, normalizes_line_endings: nil, change_annotation_support: nil)
  @attributes = {}

  @attributes[:documentChanges] = document_changes if document_changes
  @attributes[:resourceOperations] = resource_operations if resource_operations
  @attributes[:failureHandling] = failure_handling if failure_handling
  @attributes[:normalizesLineEndings] = normalizes_line_endings if normalizes_line_endings
  @attributes[:changeAnnotationSupport] = change_annotation_support if change_annotation_support

  @attributes.freeze
end

Public Instance Methods

change_annotation_support() click to toggle source

Whether the client in general supports change annotations on text edits, create file, rename file and delete file changes.

@return [{ groupsOnLabel?: boolean; }]

# File lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb, line 59
def change_annotation_support
  attributes.fetch(:changeAnnotationSupport)
end
document_changes() click to toggle source

The client supports versioned document changes in `WorkspaceEdit`s

@return [boolean]

# File lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb, line 21
def document_changes
  attributes.fetch(:documentChanges)
end
failure_handling() click to toggle source

The failure handling strategy of a client if applying the workspace edit fails.

@return [FailureHandlingKind]

# File lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb, line 39
def failure_handling
  attributes.fetch(:failureHandling)
end
normalizes_line_endings() click to toggle source

Whether the client normalizes line endings to the client specific setting. If set to `true` the client will normalize line ending characters in a workspace edit to the client specific new line character(s).

@return [boolean]

# File lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb, line 50
def normalizes_line_endings
  attributes.fetch(:normalizesLineEndings)
end
resource_operations() click to toggle source

The resource operations the client supports. Clients should at least support 'create', 'rename' and 'delete' files and folders.

@return [ResourceOperationKind

# File lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb, line 30
def resource_operations
  attributes.fetch(:resourceOperations)
end
to_hash() click to toggle source
# File lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb, line 65
def to_hash
  attributes
end
to_json(*args) click to toggle source
# File lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb, line 69
def to_json(*args)
  to_hash.to_json(*args)
end