lib/theme_check/language_server/server.rb in theme-check-1.8.0 vs lib/theme_check/language_server/server.rb in theme-check-1.9.0

- old
+ new

@@ -53,13 +53,13 @@ def start_json_rpc_thread @json_rpc_thread = Thread.new do loop do message = @bridge.read_message - if message['method'] == 'initialize' + if message[:method] == 'initialize' handle_message(message) - elsif message.key?('result') + elsif message.key?(:result) # Responses are handled on the main thread to prevent # a potential deadlock caused by all handlers waiting # for a responses. handle_response(message) else @@ -99,14 +99,14 @@ end private def handle_message(message) - id = message['id'] - method_name = message['method'] + id = message[:id] + method_name = message[:method] method_name &&= "on_#{to_snake_case(method_name)}" - params = message['params'] + params = message[:params] if @handler.respond_to?(method_name) @handler.send(method_name, id, params) end @@ -115,15 +115,16 @@ rescue StandardError => e is_request = id raise e unless is_request # Errors obtained in request handlers should be sent # back as internal errors instead of closing the program. + @bridge.log("#{e.class}: #{e.message}\n#{e.backtrace.join("\n")}") @bridge.send_internal_error(id, e) end def handle_response(message) - id = message['id'] - result = message['result'] + id = message[:id] + result = message[:result] @bridge.receive_response(id, result) end def to_snake_case(method_name) StringHelpers.underscore(method_name.gsub(/[^\w]/, '_'))