Class: LanguageServer::Protocol::Interface::DocumentLink
- Inherits:
-
Object
- Object
- LanguageServer::Protocol::Interface::DocumentLink
- Defined in:
- lib/language_server/protocol/interface/document_link.rb
Overview
A document link is a range in a text document that links to an internal or external resource, like another text document or a web site.
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 a document link between a DocumentLinkRequest and a DocumentLinkResolveRequest.
-
#initialize(range:, target: nil, tooltip: nil, data: nil) ⇒ DocumentLink
constructor
A new instance of DocumentLink.
-
#range ⇒ Range
The range this link applies to.
-
#target ⇒ string
The uri this link points to.
- #to_hash ⇒ Object
- #to_json(*args) ⇒ Object
-
#tooltip ⇒ string
The tooltip text when you hover over this link.
Constructor Details
#initialize(range:, target: nil, tooltip: nil, data: nil) ⇒ DocumentLink
Returns a new instance of DocumentLink.
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/language_server/protocol/interface/document_link.rb', line 9 def initialize(range:, target: nil, tooltip: nil, data: nil) @attributes = {} @attributes[:range] = range @attributes[:target] = target if target @attributes[:tooltip] = tooltip if tooltip @attributes[:data] = data if data @attributes.freeze end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
58 59 60 |
# File 'lib/language_server/protocol/interface/document_link.rb', line 58 def attributes @attributes end |
Instance Method Details
#data ⇒ LSPAny
A data entry field that is preserved on a document link between a DocumentLinkRequest and a DocumentLinkResolveRequest.
54 55 56 |
# File 'lib/language_server/protocol/interface/document_link.rb', line 54 def data attributes.fetch(:data) end |
#range ⇒ Range
The range this link applies to.
24 25 26 |
# File 'lib/language_server/protocol/interface/document_link.rb', line 24 def range attributes.fetch(:range) end |
#target ⇒ string
The uri this link points to. If missing a resolve request is sent later.
32 33 34 |
# File 'lib/language_server/protocol/interface/document_link.rb', line 32 def target attributes.fetch(:target) end |
#to_hash ⇒ Object
60 61 62 |
# File 'lib/language_server/protocol/interface/document_link.rb', line 60 def to_hash attributes end |
#to_json(*args) ⇒ Object
64 65 66 |
# File 'lib/language_server/protocol/interface/document_link.rb', line 64 def to_json(*args) to_hash.to_json(*args) end |
#tooltip ⇒ string
The tooltip text when you hover over this link.
If a tooltip is provided, is will be displayed in a string that includes instructions on how to trigger the link, such as ‘0 (ctrl + click)`. The specific instructions vary depending on OS, user settings, and localization.
45 46 47 |
# File 'lib/language_server/protocol/interface/document_link.rb', line 45 def tooltip attributes.fetch(:tooltip) end |