Class: RubyLsp::Ree::HoverListener
- Inherits:
-
Object
- Object
- RubyLsp::Ree::HoverListener
show all
- Includes:
- ReeLspUtils
- Defined in:
- lib/ruby_lsp/ruby_lsp_ree/listeners/hover_listener.rb
Constant Summary
Constants included
from ReeLspUtils
ReeLspUtils::Entry
Instance Method Summary
collapse
#camelize, #find_local_file_path, #get_range_for_fn_insert, #get_ree_type, #get_uri_path, #package_name_from_spec_uri, #package_name_from_uri, #package_path_from_uri, #parameter_name, #path_from_package_folder, #signature_params_from_node, #spec_relative_file_path_from_uri, #underscore
Constructor Details
#initialize(response_builder, node_context, index, dispatcher) ⇒ HoverListener
Returns a new instance of HoverListener.
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/ruby_lsp/ruby_lsp_ree/listeners/hover_listener.rb', line 8
def initialize(response_builder, node_context, index, dispatcher)
@response_builder = response_builder
@handler = RubyLsp::Ree::HoverHandler.new(index, node_context)
@ree_context = RubyLsp::Ree::ReeContext.new(node_context)
dispatcher.register(
self,
:on_call_node_enter,
:on_symbol_node_enter,
:on_string_node_enter,
:on_constant_read_node_enter
)
end
|
Instance Method Details
#on_call_node_enter(node) ⇒ Object
34
35
36
37
38
39
|
# File 'lib/ruby_lsp/ruby_lsp_ree/listeners/hover_listener.rb', line 34
def on_call_node_enter(node)
hover_items = @handler.get_ree_object_hover_items(node)
put_items_into_response(hover_items)
rescue => e
$stderr.puts("error in hover listener(on_call_node_enter): #{e.message} : #{e.backtrace.first}")
end
|
#on_constant_read_node_enter(node) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/ruby_lsp/ruby_lsp_ree/listeners/hover_listener.rb', line 22
def on_constant_read_node_enter(node)
end
|
#on_string_node_enter(node) ⇒ Object
41
42
43
44
45
46
47
48
49
|
# File 'lib/ruby_lsp/ruby_lsp_ree/listeners/hover_listener.rb', line 41
def on_string_node_enter(node)
return unless @ree_context.is_error_definition?
hover_items = @handler.get_error_locales_hover_items(node)
put_items_into_response(hover_items)
rescue => e
$stderr.puts("error in hover listener(on_string_node_enter): #{e.message} : #{e.backtrace.first}")
end
|
#on_symbol_node_enter(node) ⇒ Object
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/ruby_lsp/ruby_lsp_ree/listeners/hover_listener.rb', line 51
def on_symbol_node_enter(node)
hover_items = if @ree_context.is_error_definition?
@handler.get_error_code_hover_items(node)
else
@handler.get_linked_object_hover_items(node)
end
put_items_into_response(hover_items)
rescue => e
$stderr.puts("error in hover listener(on_symbol_node_enter): #{e.message} : #{e.backtrace.first}")
end
|
#put_items_into_response(items) ⇒ Object
63
64
65
66
67
|
# File 'lib/ruby_lsp/ruby_lsp_ree/listeners/hover_listener.rb', line 63
def put_items_into_response(items)
items.each do |item|
@response_builder.push(item, category: :documentation)
end
end
|