Class: LanguageServer::Protocol::Interface::WorkspaceSymbol
- Inherits:
-
Object
- Object
- LanguageServer::Protocol::Interface::WorkspaceSymbol
- Defined in:
- lib/language_server/protocol/interface/workspace_symbol.rb
Overview
A special workspace symbol that supports locations without a range
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
Instance Method Summary collapse
-
#container_name ⇒ string
The name of the symbol containing this symbol.
-
#data ⇒ LSPAny
A data entry field that is preserved on a workspace symbol between a workspace symbol request and a workspace symbol resolve request.
-
#initialize(name:, kind:, tags: nil, container_name: nil, location:, data: nil) ⇒ WorkspaceSymbol
constructor
A new instance of WorkspaceSymbol.
-
#kind ⇒ SymbolKind
The kind of this symbol.
-
#location ⇒ Location | { uri: string; }
The location of this symbol.
-
#name ⇒ string
The name of this symbol.
-
#tags ⇒ 1[]
Tags for this completion item.
- #to_hash ⇒ Object
- #to_json(*args) ⇒ Object
Constructor Details
#initialize(name:, kind:, tags: nil, container_name: nil, location:, data: nil) ⇒ WorkspaceSymbol
Returns a new instance of WorkspaceSymbol.
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 8 def initialize(name:, kind:, tags: nil, container_name: nil, location:, data: nil) @attributes = {} @attributes[:name] = name @attributes[:kind] = kind @attributes[:tags] = if @attributes[:containerName] = container_name if container_name @attributes[:location] = location @attributes[:data] = data if data @attributes.freeze end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
77 78 79 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 77 def attributes @attributes end |
Instance Method Details
#container_name ⇒ string
The name of the symbol containing this symbol. This information is for user interface purposes (e.g. to render a qualifier in the user interface if necessary). It can’t be used to re-infer a hierarchy for the document symbols.
52 53 54 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 52 def container_name attributes.fetch(:containerName) end |
#data ⇒ LSPAny
A data entry field that is preserved on a workspace symbol between a workspace symbol request and a workspace symbol resolve request.
73 74 75 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 73 def data attributes.fetch(:data) end |
#kind ⇒ SymbolKind
The kind of this symbol.
33 34 35 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 33 def kind attributes.fetch(:kind) end |
#location ⇒ Location | { uri: string; }
The location of this symbol. Whether a server is allowed to return a location without a range depends on the client capability ‘workspace.symbol.resolveSupport`.
See also ‘SymbolInformation.location`.
64 65 66 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 64 def location attributes.fetch(:location) end |
#name ⇒ string
The name of this symbol.
25 26 27 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 25 def name attributes.fetch(:name) end |
#tags ⇒ 1[]
Tags for this completion item.
41 42 43 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 41 def attributes.fetch(:tags) end |
#to_hash ⇒ Object
79 80 81 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 79 def to_hash attributes end |
#to_json(*args) ⇒ Object
83 84 85 |
# File 'lib/language_server/protocol/interface/workspace_symbol.rb', line 83 def to_json(*args) to_hash.to_json(*args) end |