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