Class: LanguageServer::Protocol::Interface::CallHierarchyItem

Inherits:
Object
  • Object
show all
Defined in:
lib/language_server/protocol/interface/call_hierarchy_item.rb

Overview

Represents programming constructs like functions or constructors in the context of call hierarchy.

Since:

  • 3.16.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, kind:, tags: nil, detail: nil, uri:, range:, selection_range:, data: nil) ⇒ CallHierarchyItem

Returns a new instance of CallHierarchyItem.

Since:

  • 3.16.0



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 11

def initialize(name:, kind:, tags: nil, detail: nil, uri:, range:, selection_range:, data: nil)
  @attributes = {}

  @attributes[:name] = name
  @attributes[:kind] = kind
  @attributes[:tags] = tags if tags
  @attributes[:detail] = detail if detail
  @attributes[:uri] = uri
  @attributes[:range] = range
  @attributes[:selectionRange] = selection_range
  @attributes[:data] = data if data

  @attributes.freeze
end

Instance Attribute Details

#attributesObject (readonly)

Since:

  • 3.16.0



92
93
94
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 92

def attributes
  @attributes
end

Instance Method Details

#dataLSPAny | nil

A data entry field that is preserved between a call hierarchy prepare and incoming calls or outgoing calls requests.

Returns:

  • (LSPAny | nil)

Since:

  • 3.16.0



88
89
90
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 88

def data
  attributes.fetch(:data)
end

#detailstring | nil

More detail for this item, e.g. the signature of a function.

Returns:

  • (string | nil)

Since:

  • 3.16.0



54
55
56
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 54

def detail
  attributes.fetch(:detail)
end

#kindSymbolKind

The kind of this item.

Returns:

  • (SymbolKind)

Since:

  • 3.16.0



38
39
40
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 38

def kind
  attributes.fetch(:kind)
end

#namestring

The name of this item.

Returns:

  • (string)

Since:

  • 3.16.0



30
31
32
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 30

def name
  attributes.fetch(:name)
end

#rangeRange

The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code.

Returns:

Since:

  • 3.16.0



70
71
72
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 70

def range
  attributes.fetch(:range)
end

#selection_rangeRange

The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function. Must be contained by the [range](#CallHierarchyItem.range).

Returns:

Since:

  • 3.16.0



79
80
81
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 79

def selection_range
  attributes.fetch(:selectionRange)
end

#tagsSymbolTag[] | nil

Tags for this item.

Returns:

  • (SymbolTag[] | nil)

Since:

  • 3.16.0



46
47
48
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 46

def tags
  attributes.fetch(:tags)
end

#to_hashObject

Since:

  • 3.16.0



94
95
96
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 94

def to_hash
  attributes
end

#to_json(*args) ⇒ Object

Since:

  • 3.16.0



98
99
100
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 98

def to_json(*args)
  to_hash.to_json(*args)
end

#uriDocumentUri

The resource identifier of this item.

Returns:

  • (DocumentUri)

Since:

  • 3.16.0



62
63
64
# File 'lib/language_server/protocol/interface/call_hierarchy_item.rb', line 62

def uri
  attributes.fetch(:uri)
end