class LanguageServer::Protocol::Interface::ServerCapabilities

Attributes

attributes[R]

Public Class Methods

new(position_encoding: nil, text_document_sync: nil, notebook_document_sync: nil, completion_provider: nil, hover_provider: nil, signature_help_provider: nil, declaration_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_link_provider: nil, color_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, folding_range_provider: nil, execute_command_provider: nil, selection_range_provider: nil, linked_editing_range_provider: nil, call_hierarchy_provider: nil, semantic_tokens_provider: nil, moniker_provider: nil, type_hierarchy_provider: nil, inline_value_provider: nil, inlay_hint_provider: nil, diagnostic_provider: nil, workspace_symbol_provider: nil, workspace: nil, experimental: nil) click to toggle source
# File lib/language_server/protocol/interface/server_capabilities.rb, line 5
def initialize(position_encoding: nil, text_document_sync: nil, notebook_document_sync: nil, completion_provider: nil, hover_provider: nil, signature_help_provider: nil, declaration_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_link_provider: nil, color_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, folding_range_provider: nil, execute_command_provider: nil, selection_range_provider: nil, linked_editing_range_provider: nil, call_hierarchy_provider: nil, semantic_tokens_provider: nil, moniker_provider: nil, type_hierarchy_provider: nil, inline_value_provider: nil, inlay_hint_provider: nil, diagnostic_provider: nil, workspace_symbol_provider: nil, workspace: nil, experimental: nil)
  @attributes = {}

  @attributes[:positionEncoding] = position_encoding if position_encoding
  @attributes[:textDocumentSync] = text_document_sync if text_document_sync
  @attributes[:notebookDocumentSync] = notebook_document_sync if notebook_document_sync
  @attributes[:completionProvider] = completion_provider if completion_provider
  @attributes[:hoverProvider] = hover_provider if hover_provider
  @attributes[:signatureHelpProvider] = signature_help_provider if signature_help_provider
  @attributes[:declarationProvider] = declaration_provider if declaration_provider
  @attributes[:definitionProvider] = definition_provider if definition_provider
  @attributes[:typeDefinitionProvider] = type_definition_provider if type_definition_provider
  @attributes[:implementationProvider] = implementation_provider if implementation_provider
  @attributes[:referencesProvider] = references_provider if references_provider
  @attributes[:documentHighlightProvider] = document_highlight_provider if document_highlight_provider
  @attributes[:documentSymbolProvider] = document_symbol_provider if document_symbol_provider
  @attributes[:codeActionProvider] = code_action_provider if code_action_provider
  @attributes[:codeLensProvider] = code_lens_provider if code_lens_provider
  @attributes[:documentLinkProvider] = document_link_provider if document_link_provider
  @attributes[:colorProvider] = color_provider if color_provider
  @attributes[:documentFormattingProvider] = document_formatting_provider if document_formatting_provider
  @attributes[:documentRangeFormattingProvider] = document_range_formatting_provider if document_range_formatting_provider
  @attributes[:documentOnTypeFormattingProvider] = document_on_type_formatting_provider if document_on_type_formatting_provider
  @attributes[:renameProvider] = rename_provider if rename_provider
  @attributes[:foldingRangeProvider] = folding_range_provider if folding_range_provider
  @attributes[:executeCommandProvider] = execute_command_provider if execute_command_provider
  @attributes[:selectionRangeProvider] = selection_range_provider if selection_range_provider
  @attributes[:linkedEditingRangeProvider] = linked_editing_range_provider if linked_editing_range_provider
  @attributes[:callHierarchyProvider] = call_hierarchy_provider if call_hierarchy_provider
  @attributes[:semanticTokensProvider] = semantic_tokens_provider if semantic_tokens_provider
  @attributes[:monikerProvider] = moniker_provider if moniker_provider
  @attributes[:typeHierarchyProvider] = type_hierarchy_provider if type_hierarchy_provider
  @attributes[:inlineValueProvider] = inline_value_provider if inline_value_provider
  @attributes[:inlayHintProvider] = inlay_hint_provider if inlay_hint_provider
  @attributes[:diagnosticProvider] = diagnostic_provider if diagnostic_provider
  @attributes[:workspaceSymbolProvider] = workspace_symbol_provider if workspace_symbol_provider
  @attributes[:workspace] = workspace if workspace
  @attributes[:experimental] = experimental if experimental

  @attributes.freeze
end

Public Instance Methods

call_hierarchy_provider() click to toggle source

The server provides call hierarchy support.

@return [boolean | CallHierarchyOptions | CallHierarchyRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 264
def call_hierarchy_provider
  attributes.fetch(:callHierarchyProvider)
end
code_action_provider() click to toggle source

The server provides code actions. The ‘CodeActionOptions` return type is only valid if the client signals code action literal support via the property `textDocument.codeAction.codeActionLiteralSupport`.

@return [boolean | CodeActionOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 166
def code_action_provider
  attributes.fetch(:codeActionProvider)
end
code_lens_provider() click to toggle source

The server provides code lens.

@return [CodeLensOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 174
def code_lens_provider
  attributes.fetch(:codeLensProvider)
end
color_provider() click to toggle source

The server provides color provider support.

@return [boolean | DocumentColorOptions | DocumentColorRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 190
def color_provider
  attributes.fetch(:colorProvider)
end
completion_provider() click to toggle source

The server provides completion support.

@return [CompletionOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 84
def completion_provider
  attributes.fetch(:completionProvider)
end
declaration_provider() click to toggle source

The server provides go to declaration support.

@return [boolean | DeclarationOptions | DeclarationRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 108
def declaration_provider
  attributes.fetch(:declarationProvider)
end
definition_provider() click to toggle source

The server provides goto definition support.

@return [boolean | DefinitionOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 116
def definition_provider
  attributes.fetch(:definitionProvider)
end
diagnostic_provider() click to toggle source

The server has support for pull model diagnostics.

@return [DiagnosticOptions | DiagnosticRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 312
def diagnostic_provider
  attributes.fetch(:diagnosticProvider)
end
document_formatting_provider() click to toggle source

The server provides document formatting.

@return [boolean | DocumentFormattingOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 198
def document_formatting_provider
  attributes.fetch(:documentFormattingProvider)
end
document_highlight_provider() click to toggle source

The server provides document highlight support.

@return [boolean | DocumentHighlightOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 148
def document_highlight_provider
  attributes.fetch(:documentHighlightProvider)
end
document_on_type_formatting_provider() click to toggle source

The server provides document formatting on typing.

@return [DocumentOnTypeFormattingOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 214
def document_on_type_formatting_provider
  attributes.fetch(:documentOnTypeFormattingProvider)
end
document_range_formatting_provider() click to toggle source

The server provides document range formatting.

@return [boolean | DocumentRangeFormattingOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 206
def document_range_formatting_provider
  attributes.fetch(:documentRangeFormattingProvider)
end
document_symbol_provider() click to toggle source

The server provides document symbol support.

@return [boolean | DocumentSymbolOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 156
def document_symbol_provider
  attributes.fetch(:documentSymbolProvider)
end
execute_command_provider() click to toggle source

The server provides execute command support.

@return [ExecuteCommandOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 240
def execute_command_provider
  attributes.fetch(:executeCommandProvider)
end
experimental() click to toggle source

Experimental server capabilities.

@return [LSPAny]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 336
def experimental
  attributes.fetch(:experimental)
end
folding_range_provider() click to toggle source

The server provides folding provider support.

@return [boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 232
def folding_range_provider
  attributes.fetch(:foldingRangeProvider)
end
hover_provider() click to toggle source

The server provides hover support.

@return [boolean | HoverOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 92
def hover_provider
  attributes.fetch(:hoverProvider)
end
implementation_provider() click to toggle source

The server provides goto implementation support.

@return [boolean | ImplementationOptions | ImplementationRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 132
def implementation_provider
  attributes.fetch(:implementationProvider)
end
inlay_hint_provider() click to toggle source

The server provides inlay hints.

@return [boolean | InlayHintOptions | InlayHintRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 304
def inlay_hint_provider
  attributes.fetch(:inlayHintProvider)
end
inline_value_provider() click to toggle source

The server provides inline values.

@return [boolean | InlineValueOptions | InlineValueRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 296
def inline_value_provider
  attributes.fetch(:inlineValueProvider)
end
linked_editing_range_provider() click to toggle source

The server provides linked editing range support.

@return [boolean | LinkedEditingRangeOptions | LinkedEditingRangeRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 256
def linked_editing_range_provider
  attributes.fetch(:linkedEditingRangeProvider)
end
moniker_provider() click to toggle source

Whether server provides moniker support.

@return [boolean | MonikerOptions | MonikerRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 280
def moniker_provider
  attributes.fetch(:monikerProvider)
end
notebook_document_sync() click to toggle source

Defines how notebook documents are synced.

@return [NotebookDocumentSyncOptions | NotebookDocumentSyncRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 76
def notebook_document_sync
  attributes.fetch(:notebookDocumentSync)
end
position_encoding() click to toggle source

The position encoding the server picked from the encodings offered by the client via the client capability ‘general.positionEncodings`.

If the client didn’t provide any position encodings the only valid value that a server can return is ‘utf-16’.

If omitted it defaults to ‘utf-16’.

@return [string]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 57
def position_encoding
  attributes.fetch(:positionEncoding)
end
references_provider() click to toggle source

The server provides find references support.

@return [boolean | ReferenceOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 140
def references_provider
  attributes.fetch(:referencesProvider)
end
rename_provider() click to toggle source

The server provides rename support. RenameOptions may only be specified if the client states that it supports ‘prepareSupport` in its initial `initialize` request.

@return [boolean | RenameOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 224
def rename_provider
  attributes.fetch(:renameProvider)
end
selection_range_provider() click to toggle source

The server provides selection range support.

@return [boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 248
def selection_range_provider
  attributes.fetch(:selectionRangeProvider)
end
semantic_tokens_provider() click to toggle source

The server provides semantic tokens support.

@return [SemanticTokensOptions | SemanticTokensRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 272
def semantic_tokens_provider
  attributes.fetch(:semanticTokensProvider)
end
signature_help_provider() click to toggle source

The server provides signature help support.

@return [SignatureHelpOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 100
def signature_help_provider
  attributes.fetch(:signatureHelpProvider)
end
text_document_sync() click to toggle source

Defines how text documents are synced. Is either a detailed structure defining each notification or for backwards compatibility the TextDocumentSyncKind number. If omitted it defaults to ‘TextDocumentSyncKind.None`.

@return [TextDocumentSyncOptions | TextDocumentSyncKind]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 68
def text_document_sync
  attributes.fetch(:textDocumentSync)
end
to_hash() click to toggle source
# File lib/language_server/protocol/interface/server_capabilities.rb, line 342
def to_hash
  attributes
end
to_json(*args) click to toggle source
# File lib/language_server/protocol/interface/server_capabilities.rb, line 346
def to_json(*args)
  to_hash.to_json(*args)
end
type_definition_provider() click to toggle source

The server provides goto type definition support.

@return [boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 124
def type_definition_provider
  attributes.fetch(:typeDefinitionProvider)
end
type_hierarchy_provider() click to toggle source

The server provides type hierarchy support.

@return [boolean | TypeHierarchyOptions | TypeHierarchyRegistrationOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 288
def type_hierarchy_provider
  attributes.fetch(:typeHierarchyProvider)
end
workspace() click to toggle source

Workspace specific server capabilities

@return [{ workspaceFolders?: WorkspaceFoldersServerCapabilities; fileOperations?: { didCreate?: FileOperationRegistrationOptions; … 4 more …; willDelete?: FileOperationRegistrationOptions; }; }]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 328
def workspace
  attributes.fetch(:workspace)
end
workspace_symbol_provider() click to toggle source

The server provides workspace symbol support.

@return [boolean | WorkspaceSymbolOptions]

# File lib/language_server/protocol/interface/server_capabilities.rb, line 320
def workspace_symbol_provider
  attributes.fetch(:workspaceSymbolProvider)
end