Class: LanguageServer::Protocol::Interface::CompletionRegistrationOptions

Inherits:
TextDocumentRegistrationOptions show all
Defined in:
lib/language_server/protocol/interface/completion_registration_options.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from TextDocumentRegistrationOptions

#document_selector

Constructor Details

#initialize(document_selector:, trigger_characters: nil, resolve_provider: nil) ⇒ CompletionRegistrationOptions

Returns a new instance of CompletionRegistrationOptions.



5
6
7
8
9
10
11
12
13
# File 'lib/language_server/protocol/interface/completion_registration_options.rb', line 5

def initialize(document_selector:, trigger_characters: nil, resolve_provider: nil)
  @attributes = {}

  @attributes[:documentSelector] = document_selector
  @attributes[:triggerCharacters] = trigger_characters if trigger_characters
  @attributes[:resolveProvider] = resolve_provider if resolve_provider

  @attributes.freeze
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



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

def attributes
  @attributes
end

Instance Method Details

#resolve_providerboolean

The server provides support to resolve additional information for a completion item.

Returns:

  • (boolean)


35
36
37
# File 'lib/language_server/protocol/interface/completion_registration_options.rb', line 35

def resolve_provider
  attributes.fetch(:resolveProvider)
end

#to_hashObject



41
42
43
# File 'lib/language_server/protocol/interface/completion_registration_options.rb', line 41

def to_hash
  attributes
end

#to_json(*args) ⇒ Object



45
46
47
# File 'lib/language_server/protocol/interface/completion_registration_options.rb', line 45

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

#trigger_charactersstring[]

Most tools trigger completion request automatically without explicitly requesting it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user starts to type an identifier. For example if the user types ‘c` in a JavaScript file code complete will automatically pop up present `console` besides others as a completion item. Characters that make up identifiers don’t need to be listed here.

If code complete should automatically be trigger on characters not being valid inside an identifier (for example ‘.` in JavaScript) list them in `triggerCharacters`.

Returns:

  • (string[])


26
27
28
# File 'lib/language_server/protocol/interface/completion_registration_options.rb', line 26

def trigger_characters
  attributes.fetch(:triggerCharacters)
end