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

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of CompletionRegistrationOptions.



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

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

  @attributes[:documentSelector] = document_selector
  @attributes[:workDoneProgress] = work_done_progress if work_done_progress
  @attributes[:triggerCharacters] = trigger_characters if trigger_characters
  @attributes[:allCommitCharacters] = all_commit_characters if all_commit_characters
  @attributes[:resolveProvider] = resolve_provider if resolve_provider

  @attributes.freeze
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



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

def attributes
  @attributes
end

Instance Method Details

#all_commit_charactersstring[]

The list of all possible characters that commit a completion. This field can be used if clients don’t support individual commit characters per completion item. See client capability ‘completion.completionItem.commitCharactersSupport`.

If a server provides both ‘allCommitCharacters` and commit characters on an individual completion item the ones on the completion item win.

Returns:

  • (string[])


58
59
60
# File 'lib/language_server/protocol/interface/completion_registration_options.rb', line 58

def all_commit_characters
  attributes.fetch(:allCommitCharacters)
end

#document_selectorDocumentSelector

A document selector to identify the scope of the registration. If set to null the document selector provided on the client side will be used.

Returns:

  • (DocumentSelector)


22
23
24
# File 'lib/language_server/protocol/interface/completion_registration_options.rb', line 22

def document_selector
  attributes.fetch(:documentSelector)
end

#resolve_providerboolean

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

Returns:

  • (boolean)


67
68
69
# File 'lib/language_server/protocol/interface/completion_registration_options.rb', line 67

def resolve_provider
  attributes.fetch(:resolveProvider)
end

#to_hashObject



73
74
75
# File 'lib/language_server/protocol/interface/completion_registration_options.rb', line 73

def to_hash
  attributes
end

#to_json(*args) ⇒ Object



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

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[])


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

def trigger_characters
  attributes.fetch(:triggerCharacters)
end

#work_done_progressboolean

Returns:

  • (boolean)


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

def work_done_progress
  attributes.fetch(:workDoneProgress)
end