class RubyLsp::Requests::SignatureHelp

def initialize(document, index, position, context, dispatcher)

def initialize(document, index, position, context, dispatcher)
  super()
  target, parent, nesting = document.locate_node(
    { line: position[:line], character: position[:character] },
    node_types: [Prism::CallNode],
  )
  target = adjust_for_nested_target(target, parent, position)
  @target = T.let(target, T.nilable(Prism::Node))
  @dispatcher = dispatcher
  @response_builder = T.let(ResponseBuilders::SignatureHelp.new, ResponseBuilders::SignatureHelp)
  Listeners::SignatureHelp.new(@response_builder, nesting, index, dispatcher)
end