diff options
Diffstat (limited to 'clang-tools-extra/clangd/Protocol.cpp')
-rw-r--r-- | clang-tools-extra/clangd/Protocol.cpp | 10 |
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; |