summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/Protocol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/Protocol.cpp')
-rw-r--r--clang-tools-extra/clangd/Protocol.cpp21
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);
OpenPOWER on IntegriCloud