# File lib/neovim/session/rpc.rb, line 45 def run(&callback) @serializer.run do |msg| debug("received #{msg.inspect}") kind, *payload = msg case kind when 0 handle_request(payload, callback) when 1 handle_response(payload) when 2 handle_notification(payload, callback) end end rescue => e fatal("got unexpected error #{e.inspect}") debug(e.backtrace.join("\n")) end