Class: LanguageServer::Protocol::Interface::CompletionClientCapabilities

Inherits:
Object
  • Object
show all
Defined in:
lib/language_server/protocol/interface/completion_client_capabilities.rb

Overview

Completion client capabilities

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dynamic_registration: nil, completion_item: nil, completion_item_kind: nil, insert_text_mode: nil, context_support: nil, completion_list: nil) ⇒ CompletionClientCapabilities

Returns a new instance of CompletionClientCapabilities.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 8

def initialize(dynamic_registration: nil, completion_item: nil, completion_item_kind: nil, insert_text_mode: nil, context_support: nil, completion_list: nil)
  @attributes = {}

  @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
  @attributes[:completionItem] = completion_item if completion_item
  @attributes[:completionItemKind] = completion_item_kind if completion_item_kind
  @attributes[:insertTextMode] = insert_text_mode if insert_text_mode
  @attributes[:contextSupport] = context_support if context_support
  @attributes[:completionList] = completion_list if completion_list

  @attributes.freeze
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



75
76
77
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 75

def attributes
  @attributes
end

Instance Method Details

#completion_item{ snippetSupport:boolean, commitCharactersSupport:boolean, documentationFormat:MarkupKind[], deprecatedSupport:boolean, preselectSupport:boolean, tagSupport:{ valueSet:CompletionItemTag[] }, insertReplaceSupport:boolean, resolveSupport:{ properties:string[] }, insertTextModeSupport:{ valueSet:InsertTextMode[] }, labelDetailsSupport:boolean } | nil

The client supports the following CompletionItem specific capabilities.

Returns:

  • ({ snippetSupport:boolean, commitCharactersSupport:boolean, documentationFormat:MarkupKind[], deprecatedSupport:boolean, preselectSupport:boolean, tagSupport:{ valueSet:CompletionItemTag[] }, insertReplaceSupport:boolean, resolveSupport:{ properties:string[] }, insertTextModeSupport:{ valueSet:InsertTextMode[] }, labelDetailsSupport:boolean } | nil)


34
35
36
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 34

def completion_item
  attributes.fetch(:completionItem)
end

#completion_item_kind{ valueSet:CompletionItemKind[] } | nil

Returns:

  • ({ valueSet:CompletionItemKind[] } | nil)


39
40
41
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 39

def completion_item_kind
  attributes.fetch(:completionItemKind)
end

#completion_list{ itemDefaults:string[] } | nil

The client supports the following CompletionList specific capabilities.

Returns:

  • ({ itemDefaults:string[] } | nil)

Since:

  • 3.17.0



71
72
73
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 71

def completion_list
  attributes.fetch(:completionList)
end

#context_supportboolean | nil

The client supports to send additional context information for a textDocument/completion request.

Returns:

  • (boolean | nil)


60
61
62
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 60

def context_support
  attributes.fetch(:contextSupport)
end

#dynamic_registrationboolean | nil

Whether completion supports dynamic registration.

Returns:

  • (boolean | nil)


25
26
27
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 25

def dynamic_registration
  attributes.fetch(:dynamicRegistration)
end

#insert_text_modeInsertTextMode | nil

Defines how the client handles whitespace and indentation when accepting a completion item that uses multi line text in either insertText or textEdit.

Returns:

  • (InsertTextMode | nil)

Since:

  • 3.17.0



51
52
53
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 51

def insert_text_mode
  attributes.fetch(:insertTextMode)
end

#to_hashObject



77
78
79
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 77

def to_hash
  attributes
end

#to_json(*args) ⇒ Object



81
82
83
# File 'lib/language_server/protocol/interface/completion_client_capabilities.rb', line 81

def to_json(*args)
  to_hash.to_json(*args)
end