class Solargraph::LanguageServer::Message::TextDocument::SignatureHelp

Public Instance Methods

process() click to toggle source
# File lib/solargraph/language_server/message/text_document/signature_help.rb, line 7
def process
  line = params['position']['line']
  col = params['position']['character']
  suggestions = host.signatures_at(params['textDocument']['uri'], line, col)
  info = []
  suggestions.each do |pin|
    info.concat pin.overloads.map(&:signature_help)
    info.push pin.signature_help
  end
  set_result({
    signatures: info
  })
rescue FileNotFoundError => e
  Logging.logger.warn "[#{e.class}] #{e.message}"
  Logging.logger.warn e.backtrace.join("\n")
  set_result nil
end