Class: LanguageServer::Protocol::Interface::CompletionItem
- Inherits:
-
Object
- Object
- LanguageServer::Protocol::Interface::CompletionItem
- Defined in:
- lib/language_server/protocol/interface/completion_item.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
Instance Method Summary collapse
-
#additional_text_edits ⇒ TextEdit[]
An optional array of additional text edits that are applied when selecting this completion.
-
#command ⇒ Command
An optional command that is executed after inserting this completion.
-
#data ⇒ any
An data entry field that is preserved on a completion item between a completion and a completion resolve request.
-
#detail ⇒ string
A human-readable string with additional information about this item, like type or symbol information.
-
#documentation ⇒ string
A human-readable string that represents a doc-comment.
-
#filter_text ⇒ string
A string that should be used when filtering a set of completion items.
-
#initialize(label:, kind: nil, detail: nil, documentation: nil, sort_text: nil, filter_text: nil, insert_text: nil, insert_text_format: nil, text_edit: nil, additional_text_edits: nil, command: nil, data: nil) ⇒ CompletionItem
constructor
A new instance of CompletionItem.
-
#insert_text ⇒ string
A string that should be inserted a document when selecting this completion.
-
#insert_text_format ⇒ InsertTextFormat
The format of the insert text.
-
#kind ⇒ number
The kind of this completion item.
-
#label ⇒ string
The label of this completion item.
-
#sort_text ⇒ string
A string that shoud be used when comparing this item with other items.
-
#text_edit ⇒ TextEdit
An edit which is applied to a document when selecting this completion.
- #to_json(*args) ⇒ Object
Constructor Details
#initialize(label:, kind: nil, detail: nil, documentation: nil, sort_text: nil, filter_text: nil, insert_text: nil, insert_text_format: nil, text_edit: nil, additional_text_edits: nil, command: nil, data: nil) ⇒ CompletionItem
Returns a new instance of CompletionItem.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 5 def initialize(label:, kind: nil, detail: nil, documentation: nil, sort_text: nil, filter_text: nil, insert_text: nil, insert_text_format: nil, text_edit: nil, additional_text_edits: nil, command: nil, data: nil) @attributes = {} @attributes[:label] = label @attributes[:kind] = kind if kind @attributes[:detail] = detail if detail @attributes[:documentation] = documentation if documentation @attributes[:sortText] = sort_text if sort_text @attributes[:filterText] = filter_text if filter_text @attributes[:insertText] = insert_text if insert_text @attributes[:insertTextFormat] = insert_text_format if insert_text_format @attributes[:textEdit] = text_edit if text_edit @attributes[:additionalTextEdits] = additional_text_edits if additional_text_edits @attributes[:command] = command if command @attributes[:data] = data if data @attributes.freeze end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
137 138 139 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 137 def attributes @attributes end |
Instance Method Details
#additional_text_edits ⇒ TextEdit[]
An optional array of additional text edits that are applied when selecting this completion. Edits must not overlap with the main edit nor with themselves.
114 115 116 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 114 def additional_text_edits attributes.fetch(:additionalTextEdits) end |
#command ⇒ Command
An optional command that is executed after inserting this completion. Note that additional modifications to the current document should be described with the additionalTextEdits-property.
124 125 126 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 124 def command attributes.fetch(:command) end |
#data ⇒ any
An data entry field that is preserved on a completion item between a completion and a completion resolve request.
133 134 135 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 133 def data attributes.fetch(:data) end |
#detail ⇒ string
A human-readable string with additional information about this item, like type or symbol information.
48 49 50 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 48 def detail attributes.fetch(:detail) end |
#documentation ⇒ string
A human-readable string that represents a doc-comment.
56 57 58 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 56 def documentation attributes.fetch(:documentation) end |
#filter_text ⇒ string
A string that should be used when filtering a set of completion items. When ‘falsy` the label is used.
74 75 76 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 74 def filter_text attributes.fetch(:filterText) end |
#insert_text ⇒ string
A string that should be inserted a document when selecting this completion. When ‘falsy` the label is used.
83 84 85 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 83 def insert_text attributes.fetch(:insertText) end |
#insert_text_format ⇒ InsertTextFormat
The format of the insert text. The format applies to both the ‘insertText` property and the `newText` property of a provided `textEdit`.
92 93 94 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 92 def insert_text_format attributes.fetch(:insertTextFormat) end |
#kind ⇒ number
The kind of this completion item. Based of the kind an icon is chosen by the editor.
39 40 41 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 39 def kind attributes.fetch(:kind) end |
#label ⇒ string
The label of this completion item. By default also the text that is inserted when selecting this completion.
30 31 32 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 30 def label attributes.fetch(:label) end |
#sort_text ⇒ string
A string that shoud be used when comparing this item with other items. When ‘falsy` the label is used.
65 66 67 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 65 def sort_text attributes.fetch(:sortText) end |
#text_edit ⇒ TextEdit
An edit which is applied to a document when selecting this completion. When an edit is provided the value of ‘insertText` is ignored.
Note: The range of the edit must be a single line range and it must contain the position at which completion has been requested.
104 105 106 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 104 def text_edit attributes.fetch(:textEdit) end |
#to_json(*args) ⇒ Object
139 140 141 |
# File 'lib/language_server/protocol/interface/completion_item.rb', line 139 def to_json(*args) attributes.to_json(*args) end |