Class: LSP::SymbolInformation

Inherits:
LSPBase
  • Object
show all
Defined in:
lib/lsp/lsp_types.rb

Overview

export interface SymbolInformation { /** * The name of this symbol. / name: string; /* * The kind of this symbol. / kind: SymbolKind; /* * Indicates if this symbol is deprecated. / deprecated?: boolean; /* * The location of this symbol. The location's range is used by a tool * to reveal the location in the editor. If the symbol is selected in the * tool the range's start information is used to position the cursor. So * the range usually spans more than the actual symbol's name and does * normally include thinks like visibility modifiers. * * The range doesn't have to denote a node range in the sense of a abstract * syntax tree. It can therefore not be used to re-construct a hierarchy of * the symbols. / location: Location; /* * 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. */ containerName?: string; }

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from LSPBase

#to_h, #to_json

Constructor Details

#initialize(initial_hash = nil) ⇒ SymbolInformation

Returns a new instance of SymbolInformation.



1107
1108
1109
1110
# File 'lib/lsp/lsp_types.rb', line 1107

def initialize(initial_hash = nil)
  super
  @optional_method_names = %i[deprecated containerName]
end

Instance Attribute Details

#containerNameObject

type: string # type: SymbolKind # type: boolean # type: Location # type: string



1105
1106
1107
# File 'lib/lsp/lsp_types.rb', line 1105

def containerName
  @containerName
end

#deprecatedObject

type: string # type: SymbolKind # type: boolean # type: Location # type: string



1105
1106
1107
# File 'lib/lsp/lsp_types.rb', line 1105

def deprecated
  @deprecated
end

#kindObject

type: string # type: SymbolKind # type: boolean # type: Location # type: string



1105
1106
1107
# File 'lib/lsp/lsp_types.rb', line 1105

def kind
  @kind
end

#locationObject

type: string # type: SymbolKind # type: boolean # type: Location # type: string



1105
1106
1107
# File 'lib/lsp/lsp_types.rb', line 1105

def location
  @location
end

#nameObject

type: string # type: SymbolKind # type: boolean # type: Location # type: string



1105
1106
1107
# File 'lib/lsp/lsp_types.rb', line 1105

def name
  @name
end

Instance Method Details

#from_h!(value) ⇒ Object



1112
1113
1114
1115
1116
1117
1118
1119
1120
# File 'lib/lsp/lsp_types.rb', line 1112

def from_h!(value)
  value = {} if value.nil?
  self.name = value['name']
  self.kind = value['kind'] # Unknown type
  self.deprecated = value['deprecated'] # Unknown type
  self.location = Location.new(value['location']) unless value['location'].nil?
  self.containerName = value['containerName']
  self
end