Class: LanguageServer::Protocol::Interface::InlayHint
- Inherits:
-
Object
- Object
- LanguageServer::Protocol::Interface::InlayHint
- Defined in:
- lib/language_server/protocol/interface/inlay_hint.rb
Overview
Inlay hint information.
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
Instance Method Summary collapse
-
#data ⇒ LSPAny
A data entry field that is preserved on an inlay hint between a ‘textDocument/inlayHint` and a `inlayHint/resolve` request.
-
#initialize(position:, label:, kind: nil, text_edits: nil, tooltip: nil, padding_left: nil, padding_right: nil, data: nil) ⇒ InlayHint
constructor
A new instance of InlayHint.
-
#kind ⇒ InlayHintKind
The kind of this hint.
-
#label ⇒ string | InlayHintLabelPart[]
The label of this hint.
-
#padding_left ⇒ boolean
Render padding before the hint.
-
#padding_right ⇒ boolean
Render padding after the hint.
-
#position ⇒ Position
The position of this hint.
-
#text_edits ⇒ TextEdit[]
Optional text edits that are performed when accepting this inlay hint.
- #to_hash ⇒ Object
- #to_json(*args) ⇒ Object
-
#tooltip ⇒ string | MarkupContent
The tooltip text when you hover over this item.
Constructor Details
#initialize(position:, label:, kind: nil, text_edits: nil, tooltip: nil, padding_left: nil, padding_right: nil, data: nil) ⇒ InlayHint
Returns a new instance of InlayHint.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 8 def initialize(position:, label:, kind: nil, text_edits: nil, tooltip: nil, padding_left: nil, padding_right: nil, data: nil) @attributes = {} @attributes[:position] = position @attributes[:label] = label @attributes[:kind] = kind if kind @attributes[:textEdits] = text_edits if text_edits @attributes[:tooltip] = tooltip if tooltip @attributes[:paddingLeft] = padding_left if padding_left @attributes[:paddingRight] = padding_right if padding_right @attributes[:data] = data if data @attributes.freeze end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
110 111 112 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 110 def attributes @attributes end |
Instance Method Details
#data ⇒ LSPAny
A data entry field that is preserved on an inlay hint between a ‘textDocument/inlayHint` and a `inlayHint/resolve` request.
106 107 108 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 106 def data attributes.fetch(:data) end |
#kind ⇒ InlayHintKind
The kind of this hint. Can be omitted in which case the client should fall back to a reasonable default.
47 48 49 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 47 def kind attributes.fetch(:kind) end |
#label ⇒ string | InlayHintLabelPart[]
The label of this hint. A human readable string or an array of InlayHintLabelPart label parts.
Note that neither the string nor the label part can be empty.
38 39 40 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 38 def label attributes.fetch(:label) end |
#padding_left ⇒ boolean
Render padding before the hint.
Note: Padding should use the editor’s background color, not the background color of the hint itself. That means padding can be used to visually align/separate an inlay hint.
85 86 87 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 85 def padding_left attributes.fetch(:paddingLeft) end |
#padding_right ⇒ boolean
Render padding after the hint.
Note: Padding should use the editor’s background color, not the background color of the hint itself. That means padding can be used to visually align/separate an inlay hint.
97 98 99 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 97 def padding_right attributes.fetch(:paddingRight) end |
#position ⇒ Position
The position of this hint.
27 28 29 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 27 def position attributes.fetch(:position) end |
#text_edits ⇒ TextEdit[]
Optional text edits that are performed when accepting this inlay hint.
Note that edits are expected to change the document so that the inlay hint (or its nearest variant) is now part of the document and the inlay hint itself is now obsolete.
Depending on the client capability ‘inlayHint.resolveSupport` clients might resolve this property late using the resolve request.
62 63 64 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 62 def text_edits attributes.fetch(:textEdits) end |
#to_hash ⇒ Object
112 113 114 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 112 def to_hash attributes end |
#to_json(*args) ⇒ Object
116 117 118 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 116 def to_json(*args) to_hash.to_json(*args) end |
#tooltip ⇒ string | MarkupContent
The tooltip text when you hover over this item.
Depending on the client capability ‘inlayHint.resolveSupport` clients might resolve this property late using the resolve request.
73 74 75 |
# File 'lib/language_server/protocol/interface/inlay_hint.rb', line 73 def tooltip attributes.fetch(:tooltip) end |