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.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/Protocol.cpp b/clang-tools-extra/clangd/Protocol.cpp
index 016d8fd5f3f..17618f3a1c3 100644
--- a/clang-tools-extra/clangd/Protocol.cpp
+++ b/clang-tools-extra/clangd/Protocol.cpp
@@ -54,7 +54,7 @@ URI URI::parse(llvm::yaml::ScalarNode *Param) {
}
std::string URI::unparse(const URI &U) {
- return U.uri;
+ return "\"" + U.uri + "\"";
}
llvm::Optional<TextDocumentIdentifier>
@@ -162,6 +162,14 @@ std::string Range::unparse(const Range &P) {
return Result;
}
+std::string Location::unparse(const Location &P) {
+ std::string Result;
+ llvm::raw_string_ostream(Result) << llvm::format(
+ R"({"uri": %s, "range": %s})", URI::unparse(P.uri).c_str(),
+ Range::unparse(P.range).c_str());
+ return Result;
+}
+
llvm::Optional<TextDocumentItem>
TextDocumentItem::parse(llvm::yaml::MappingNode *Params) {
TextDocumentItem Result;
OpenPOWER on IntegriCloud