Class: LanguageServer::Protocol::Interface::DocumentSymbolClientCapabilities
- Inherits:
-
Object
- Object
- LanguageServer::Protocol::Interface::DocumentSymbolClientCapabilities
- Defined in:
- lib/language_server/protocol/interface/document_symbol_client_capabilities.rb
Overview
Client Capabilities for a [DocumentSymbolRequest](#DocumentSymbolRequest).
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
Instance Method Summary collapse
-
#dynamic_registration ⇒ boolean | nil
Whether document symbol supports dynamic registration.
-
#hierarchical_document_symbol_support ⇒ boolean | nil
The client supports hierarchical document symbols.
-
#initialize(dynamic_registration: nil, symbol_kind: nil, hierarchical_document_symbol_support: nil, tag_support: nil, label_support: nil) ⇒ DocumentSymbolClientCapabilities
constructor
A new instance of DocumentSymbolClientCapabilities.
-
#label_support ⇒ boolean | nil
The client supports an additional label presented in the UI when registering a document symbol provider.
-
#symbol_kind ⇒ { valueSet:SymbolKind[] } | nil
Specific capabilities for the
SymbolKindin thetextDocument/documentSymbolrequest. -
#tag_support ⇒ { valueSet:SymbolTag[] } | nil
The client supports tags on
SymbolInformation. - #to_hash ⇒ Object
- #to_json(*args) ⇒ Object
Constructor Details
#initialize(dynamic_registration: nil, symbol_kind: nil, hierarchical_document_symbol_support: nil, tag_support: nil, label_support: nil) ⇒ DocumentSymbolClientCapabilities
Returns a new instance of DocumentSymbolClientCapabilities.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/language_server/protocol/interface/document_symbol_client_capabilities.rb', line 8 def initialize(dynamic_registration: nil, symbol_kind: nil, hierarchical_document_symbol_support: nil, tag_support: nil, label_support: nil) @attributes = {} @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration @attributes[:symbolKind] = symbol_kind if symbol_kind @attributes[:hierarchicalDocumentSymbolSupport] = hierarchical_document_symbol_support if hierarchical_document_symbol_support @attributes[:tagSupport] = tag_support if tag_support @attributes[:labelSupport] = label_support if label_support @attributes.freeze end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
68 69 70 |
# File 'lib/language_server/protocol/interface/document_symbol_client_capabilities.rb', line 68 def attributes @attributes end |
Instance Method Details
#dynamic_registration ⇒ boolean | nil
Whether document symbol supports dynamic registration.
24 25 26 |
# File 'lib/language_server/protocol/interface/document_symbol_client_capabilities.rb', line 24 def dynamic_registration attributes.fetch(:dynamicRegistration) end |
#hierarchical_document_symbol_support ⇒ boolean | nil
The client supports hierarchical document symbols.
41 42 43 |
# File 'lib/language_server/protocol/interface/document_symbol_client_capabilities.rb', line 41 def hierarchical_document_symbol_support attributes.fetch(:hierarchicalDocumentSymbolSupport) end |
#label_support ⇒ boolean | nil
The client supports an additional label presented in the UI when registering a document symbol provider.
64 65 66 |
# File 'lib/language_server/protocol/interface/document_symbol_client_capabilities.rb', line 64 def label_support attributes.fetch(:labelSupport) end |
#symbol_kind ⇒ { valueSet:SymbolKind[] } | nil
Specific capabilities for the SymbolKind in the textDocument/documentSymbol request.
33 34 35 |
# File 'lib/language_server/protocol/interface/document_symbol_client_capabilities.rb', line 33 def symbol_kind attributes.fetch(:symbolKind) end |
#tag_support ⇒ { valueSet:SymbolTag[] } | nil
The client supports tags on SymbolInformation. Tags are supported on DocumentSymbol if hierarchicalDocumentSymbolSupport is set to true. Clients supporting tags have to handle unknown tags gracefully.
53 54 55 |
# File 'lib/language_server/protocol/interface/document_symbol_client_capabilities.rb', line 53 def tag_support attributes.fetch(:tagSupport) end |
#to_hash ⇒ Object
70 71 72 |
# File 'lib/language_server/protocol/interface/document_symbol_client_capabilities.rb', line 70 def to_hash attributes end |
#to_json(*args) ⇒ Object
74 75 76 |
# File 'lib/language_server/protocol/interface/document_symbol_client_capabilities.rb', line 74 def to_json(*args) to_hash.to_json(*args) end |