# File lib/ruby_lsp/listeners/inlay_hints.rb, line 20definitialize(response_builder, range, hints_configuration, dispatcher)
@response_builder = response_builder@range = range@hints_configuration = hints_configurationdispatcher.register(self, :on_rescue_node_enter, :on_implicit_node_enter)
end
Public Instance Methods
on_implicit_node_enter(node)
# File lib/ruby_lsp/listeners/inlay_hints.rb, line 45defon_implicit_node_enter(node)
returnunless@hints_configuration.enabled?(:implicitHashValue)
returnunlessvisible?(node, @range)
node_value = node.valueloc = node.locationtooltip = ""node_name = ""casenode_valuewhenPrism::CallNodenode_name = node_value.nametooltip = "This is a method call. Method name: #{node_name}"whenPrism::ConstantReadNodenode_name = node_value.nametooltip = "This is a constant: #{node_name}"whenPrism::LocalVariableReadNodenode_name = node_value.nametooltip = "This is a local variable: #{node_name}"end@response_builder<<Interface::InlayHint.new(
position: { line:loc.start_line-1, character:loc.start_column+node_name.length+1 },
label:node_name,
padding_left:true,
tooltip:tooltip,
)
end
on_rescue_node_enter(node)
# File lib/ruby_lsp/listeners/inlay_hints.rb, line 29defon_rescue_node_enter(node)
returnunless@hints_configuration.enabled?(:implicitRescue)
returnunlessnode.exceptions.empty?loc = node.locationreturnunlessvisible?(node, @range)
@response_builder<<Interface::InlayHint.new(
position: { line:loc.start_line-1, character:loc.start_column+RESCUE_STRING_LENGTH },
label:"StandardError",
padding_left:true,
tooltip:"StandardError is implied in a bare rescue",
)
end