module Solargraph::LanguageServer::Transport::Adapter
A common module for running language servers in Backport.
Public Instance Methods
closing()
click to toggle source
# File lib/solargraph/language_server/transport/adapter.rb, line 21 def closing @host.stop end
opening()
click to toggle source
# File lib/solargraph/language_server/transport/adapter.rb, line 11 def opening @host = Solargraph::LanguageServer::Host.new @host.add_observer self @host.start @data_reader = Solargraph::LanguageServer::Transport::DataReader.new @data_reader.set_message_handler do |message| process message end end
receiving(data)
click to toggle source
@param data [String]
# File lib/solargraph/language_server/transport/adapter.rb, line 26 def receiving data @data_reader.receive data end
update()
click to toggle source
# File lib/solargraph/language_server/transport/adapter.rb, line 30 def update if @host.stopped? shutdown else tmp = @host.flush write tmp unless tmp.empty? end end
Private Instance Methods
process(request)
click to toggle source
@param request [String] @return [void]
# File lib/solargraph/language_server/transport/adapter.rb, line 43 def process request message = @host.receive(request) message && message.send_response end
shutdown()
click to toggle source
# File lib/solargraph/language_server/transport/adapter.rb, line 48 def shutdown Backport.stop unless @host.options['transport'] == 'external' end