class LsifParser::Hovers

Processes and stores hovers data for ranges

Public Class Methods

new() click to toggle source
# File lib/lsif_parser/hovers.rb, line 6
def initialize
  @data = {}
  @refs = {}
  @hovers = {}
end

Public Instance Methods

for(id) click to toggle source
# File lib/lsif_parser/hovers.rb, line 23
def for(id)
  ref_id = @refs[id]
  hover_id = @hovers[ref_id]
  @data[hover_id]
end
read(line) click to toggle source
# File lib/lsif_parser/hovers.rb, line 12
def read(line)
  case line['label']
  when 'hoverResult'
    add_data(line)
  when 'textDocument/hover'
    add(line)
  when 'textDocument/references'
    add_refs(line)
  end
end

Private Instance Methods

add(line) click to toggle source
# File lib/lsif_parser/hovers.rb, line 31
def add(line)
  @hovers[line['outV']] = line['inV']
end
add_data(line) click to toggle source
# File lib/lsif_parser/hovers.rb, line 35
def add_data(line)
  @data[line['id']] = line['result']['contents']
end
add_refs(line) click to toggle source
# File lib/lsif_parser/hovers.rb, line 39
def add_refs(line)
  @refs[line['inV']] = line['outV']
end