lib/ruby_lsp/response_builders/signature_help.rb



# typed: strict
# frozen_string_literal: true

module RubyLsp
  module ResponseBuilders
    class SignatureHelp < ResponseBuilder
      ResponseType = type_member { { fixed: T.nilable(Interface::SignatureHelp) } }

      extend T::Sig

      sig { void }
      def initialize
        super
        @signature_help = T.let(nil, ResponseType)
      end

      sig { params(signature_help: ResponseType).void }
      def replace(signature_help)
        @signature_help = signature_help
      end

      sig { override.returns(ResponseType) }
      def response
        @signature_help
      end
    end
  end
end