diff options
author | Sam McCall <sam.mccall@gmail.com> | 2018-07-02 11:13:16 +0000 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2018-07-02 11:13:16 +0000 |
commit | e746a2b4f7dbe0c6b8dd280a92ddfb1644b232f9 (patch) | |
tree | 22e2edcfb2a00ed68dce407a698c25dbd7389b69 /clang-tools-extra/clangd/CodeComplete.cpp | |
parent | 2757df7933766a8ec344cb51eebfaa554812c685 (diff) | |
download | bcm5719-llvm-e746a2b4f7dbe0c6b8dd280a92ddfb1644b232f9.tar.gz bcm5719-llvm-e746a2b4f7dbe0c6b8dd280a92ddfb1644b232f9.zip |
[clangd] ClangdServer::codeComplete return CodeCompleteResult, not LSP struct.
Summary:
This provides more structured information that embedders can use for rendering.
ClangdLSPServer continues to call render(), so NFC.
The patch is:
- trivial changes to ClangdServer/ClangdLSPServer
- mostly-mechanical updates to CodeCompleteTests etc for the new API
- new direct tests of render() in CodeCompleteTests
- tiny cleanups to CodeCompletionItem (operator<< and missing initializers)
Reviewers: ioeric
Subscribers: ilya-biryukov, MaskRay, jkorous, cfe-commits
Differential Revision: https://reviews.llvm.org/D48821
llvm-svn: 336094
Diffstat (limited to 'clang-tools-extra/clangd/CodeComplete.cpp')
-rw-r--r-- | clang-tools-extra/clangd/CodeComplete.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/CodeComplete.cpp b/clang-tools-extra/clangd/CodeComplete.cpp index 01cc4445003..03bef8eaa3a 100644 --- a/clang-tools-extra/clangd/CodeComplete.cpp +++ b/clang-tools-extra/clangd/CodeComplete.cpp @@ -1248,5 +1248,18 @@ CompletionItem CodeCompletion::render(const CodeCompleteOptions &Opts) const { return LSP; } +raw_ostream &operator<<(raw_ostream &OS, const CodeCompletion &C) { + // For now just lean on CompletionItem. + return OS << C.render(CodeCompleteOptions()); +} + +raw_ostream &operator<<(raw_ostream &OS, const CodeCompleteResult &R) { + OS << "CodeCompleteResult: " << R.Completions.size() << (R.HasMore ? "+" : "") + << " items:\n"; + for (const auto &C : R.Completions) + OS << C << "\n"; + return OS; +} + } // namespace clangd } // namespace clang |