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

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

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.

Parameters:

  • dynamic_registration: (Boolean) (defaults to: nil)
  • completion_item: (Object) (defaults to: nil)
  • completion_item_kind: (Object) (defaults to: nil)
  • insert_text_mode: (Object) (defaults to: nil)
  • context_support: (Boolean) (defaults to: nil)
  • completion_list: (Object) (defaults to: nil)


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

#attributesHash[Symbol, untyped] (readonly)

Returns the value of attribute attributes.

Returns:

  • (Hash[Symbol, untyped])


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; }

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; })


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[]; }

Returns:

  • ({ valueSet?: CompletionItemKind[]; })


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[]; }

The client supports the following CompletionList specific capabilities.

Returns:

  • ({ itemDefaults?: string[]; })

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

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

Returns:

  • (boolean)


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

def context_support
  attributes.fetch(:contextSupport)
end

#dynamic_registrationboolean

Whether completion supports dynamic registration.

Returns:

  • (boolean)


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

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)

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_hashHash[Symbol, untyped]

Returns:

  • (Hash[Symbol, untyped])


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

def to_hash
  attributes
end

#to_json(*args) ⇒ String

Parameters:

  • (Object)

Returns:

  • (String)


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