Author: ibiryukov Date: Fri May 24 03:18:39 2019 New Revision: 361623 URL: http://llvm.org/viewvc/llvm-project?rev=361623&view=rev Log: [CodeComplete] Filter override completions by function name
Summary: We put only part of the signature starting with a function name into "typed text" chunks now, previously the whole signature was "typed text". This leads to meaningful fuzzy match scores, giving better signals to compare with other completion items. Ideally, we would not display the result type to the user, but that requires adding a new kind of completion chunk. Reviewers: kadircet Reviewed By: kadircet Subscribers: jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62298 Modified: clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cpp Modified: clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cpp?rev=361623&r1=361622&r2=361623&view=diff ============================================================================== --- clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cpp (original) +++ clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cpp Fri May 24 03:18:39 2019 @@ -49,6 +49,9 @@ class IgnoreDiagnostics : public Diagnos // GMock helpers for matching completion items. MATCHER_P(Named, Name, "") { return arg.Name == Name; } +MATCHER_P(NameStartsWith, Prefix, "") { + return llvm::StringRef(arg.Name).startswith(Prefix); +} MATCHER_P(Scope, S, "") { return arg.Scope == S; } MATCHER_P(Qualifier, Q, "") { return arg.RequiredQualifier == Q; } MATCHER_P(Labeled, Label, "") { @@ -1946,10 +1949,13 @@ TEST(CompletionTest, SuggestOverrides) { }; )cpp"); const auto Results = completions(Text); - EXPECT_THAT(Results.Completions, - AllOf(Contains(Labeled("void vfunc(bool param, int p) override")), - Contains(Labeled("void ttt(bool param) const override")), - Not(Contains(Labeled("void vfunc(bool param) override"))))); + EXPECT_THAT( + Results.Completions, + AllOf(Contains(AllOf(Labeled("void vfunc(bool param, int p) override"), + NameStartsWith("vfunc"))), + Contains(AllOf(Labeled("void ttt(bool param) const override"), + NameStartsWith("ttt"))), + Not(Contains(Labeled("void vfunc(bool param) override"))))); } TEST(CompletionTest, OverridesNonIdentName) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits