diff options
Diffstat (limited to 'clang-tools-extra/clangd/Protocol.cpp')
| -rw-r--r-- | clang-tools-extra/clangd/Protocol.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/Protocol.cpp b/clang-tools-extra/clangd/Protocol.cpp index 566104ba258..ec81a22a8fc 100644 --- a/clang-tools-extra/clangd/Protocol.cpp +++ b/clang-tools-extra/clangd/Protocol.cpp @@ -446,6 +446,11 @@ json::Expr toJSON(const CompletionItem &CI) { return std::move(Result); } +llvm::raw_ostream &operator<<(llvm::raw_ostream &O, const CompletionItem &I) { + O << I.label << " - " << toJSON(I); + return O; +} + bool operator<(const CompletionItem &L, const CompletionItem &R) { return (L.sortText.empty() ? L.label : L.sortText) < (R.sortText.empty() ? R.label : R.sortText); @@ -477,6 +482,12 @@ json::Expr toJSON(const SignatureInformation &SI) { return std::move(Result); } +llvm::raw_ostream &operator<<(llvm::raw_ostream &O, + const SignatureInformation &I) { + O << I.label << " - " << toJSON(I); + return O; +} + json::Expr toJSON(const SignatureHelp &SH) { assert(SH.activeSignature >= 0 && "Unexpected negative value for number of active signatures."); @@ -502,6 +513,16 @@ json::Expr toJSON(const DocumentHighlight &DH) { }; } +llvm::raw_ostream &operator<<(llvm::raw_ostream &O, + const DocumentHighlight &V) { + O << V.range; + if (V.kind == DocumentHighlightKind::Read) + O << "(r)"; + if (V.kind == DocumentHighlightKind::Write) + O << "(w)"; + return O; +} + bool fromJSON(const json::Expr &Params, DidChangeConfigurationParams &CCP) { json::ObjectMapper O(Params); return O && O.map("settings", CCP.settings); |

