diff --git a/lib/ruby_lsp/server.rb b/lib/ruby_lsp/server.rb index 170c755da..d766e78a6 100644 --- a/lib/ruby_lsp/server.rb +++ b/lib/ruby_lsp/server.rb @@ -120,6 +120,14 @@ def process_message(message) @global_state.synchronize { @cancelled_requests << message[:params][:id] } when nil process_response(message) if message[:result] + else + if message[:id] + send_message(Error.new( + id: message[:id], + code: Constant::ErrorCodes::METHOD_NOT_FOUND, + message: "Method not found: #{message[:method]}", + )) + end end rescue DelegateRequestError send_message(Error.new(id: message[:id], code: DelegateRequestError::CODE, message: "DELEGATE_REQUEST"))