diff --git a/clang-tools-extra/clangd/ClangdLSPServer.cpp b/clang-tools-extra/clangd/ClangdLSPServer.cpp --- a/clang-tools-extra/clangd/ClangdLSPServer.cpp +++ b/clang-tools-extra/clangd/ClangdLSPServer.cpp @@ -25,16 +25,6 @@ namespace clang { namespace clangd { namespace { -class IgnoreCompletionError : public llvm::ErrorInfo { -public: - void log(llvm::raw_ostream &OS) const override { - OS << "ignored auto-triggered completion, preceding char did not match"; - } - std::error_code convertToErrorCode() const override { - return std::make_error_code(std::errc::operation_canceled); - } -}; - /// Transforms a tweak into a code action that would apply it if executed. /// EXPECTS: T.prepare() was called and returned true. CodeAction toCodeAction(const ClangdServer::TweakRef &T, const URIForFile &File, @@ -739,7 +729,9 @@ void ClangdLSPServer::onCompletion(const CompletionParams &Params, Callback Reply) { if (!shouldRunCompletion(Params)) - return Reply(llvm::make_error()); + return Reply(llvm::make_error( + "ignored auto-triggered completion, preceding char did not match", + ErrorCode::RequestCancelled)); Server->codeComplete(Params.textDocument.uri.file(), Params.position, CCOpts, Bind( [this](decltype(Reply) Reply, diff --git a/clang-tools-extra/clangd/test/completion-auto-trigger.test b/clang-tools-extra/clangd/test/completion-auto-trigger.test --- a/clang-tools-extra/clangd/test/completion-auto-trigger.test +++ b/clang-tools-extra/clangd/test/completion-auto-trigger.test @@ -5,7 +5,7 @@ --- {"jsonrpc":"2.0","id":1,"method":"textDocument/completion","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":2,"character":9},"context":{"triggerKind":2,"triggerCharacter":">"}}} # CHECK: "error": { -# CHECK-NEXT: "code": -32001, +# CHECK-NEXT: "code": -32800, # CHECK-NEXT: "message": "ignored auto-triggered completion, preceding char did not match" # CHECK-NEXT: }, # CHECK-NEXT: "id": 1, @@ -65,7 +65,7 @@ --- {"jsonrpc":"2.0","id":3,"method":"textDocument/completion","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":5,"character":9},"context":{"triggerKind":2,"triggerCharacter":":"}}} # CHECK: "error": { -# CHECK-NEXT: "code": -32001, +# CHECK-NEXT: "code": -32800, # CHECK-NEXT: "message": "ignored auto-triggered completion, preceding char did not match" # CHECK-NEXT: }, # CHECK-NEXT: "id": 3,