[clang-tools-extra] 6b28835 - clangd: Make documentation property of completion items more similar
Sam McCall via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 12 15:18:38 PDT 2021
Author: Christian Kandeler
Date: 2021-08-13T00:18:15+02:00
New Revision: 6b28835b3754aa3b795e7684b3e7f465b516f753
URL: https://github.com/llvm/llvm-project/commit/6b28835b3754aa3b795e7684b3e7f465b516f753
DIFF: https://github.com/llvm/llvm-project/commit/6b28835b3754aa3b795e7684b3e7f465b516f753.diff
LOG: clangd: Make documentation property of completion items more similar
... to the one of signature hints.
In particular, completion items now also carry annotations, which client
code might be interested in.
Reviewed By: sammccall
Differential Revision: https://reviews.llvm.org/D107365
Added:
Modified:
clang-tools-extra/clangd/CodeComplete.cpp
clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/CodeComplete.cpp b/clang-tools-extra/clangd/CodeComplete.cpp
index 593426127aa2..abaedff82686 100644
--- a/clang-tools-extra/clangd/CodeComplete.cpp
+++ b/clang-tools-extra/clangd/CodeComplete.cpp
@@ -403,8 +403,9 @@ struct CodeCompletionBuilder {
if (C.IndexResult) {
SetDoc(C.IndexResult->Documentation);
} else if (C.SemaResult) {
- SetDoc(getDocComment(*ASTCtx, *C.SemaResult,
- /*CommentsFromHeader=*/false));
+ const auto DocComment = getDocComment(*ASTCtx, *C.SemaResult,
+ /*CommentsFromHeader=*/false);
+ SetDoc(formatDocumentation(*SemaCCS, DocComment));
}
}
if (Completion.Deprecated) {
diff --git a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
index 3170099b437b..e37b65a9d4b8 100644
--- a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
+++ b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
@@ -907,7 +907,7 @@ TEST(CompletionTest, Documentation) {
auto Results = completions(
R"cpp(
// Non-doxygen comment.
- int foo();
+ __attribute__((annotate("custom_annotation"))) int foo();
/// Doxygen comment.
/// \param int a
int bar(int a);
@@ -919,7 +919,8 @@ TEST(CompletionTest, Documentation) {
int x = ^
)cpp");
EXPECT_THAT(Results.Completions,
- Contains(AllOf(Named("foo"), Doc("Non-doxygen comment."))));
+ Contains(AllOf(Named("foo"),
+ Doc("Annotation: custom_annotation\nNon-doxygen comment."))));
EXPECT_THAT(
Results.Completions,
Contains(AllOf(Named("bar"), Doc("Doxygen comment.\n\\param int a"))));
More information about the cfe-commits
mailing list