summaryrefslogtreecommitdiff
path: root/src/ranked_match.cc
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2023-12-02 10:39:23 +1100
committerMaxime Coste <mawww@kakoune.org>2023-12-02 10:39:23 +1100
commit215aa0b2fb06ec4595cb3d19aaed912fb8792049 (patch)
tree117204290e7e22bb0fe20a136748fe9c9a7b0b24 /src/ranked_match.cc
parent5b1da70adc7ae82518463ada2ddd7b4e82011551 (diff)
Fix single word detection when query is not single word
Diffstat (limited to 'src/ranked_match.cc')
-rw-r--r--src/ranked_match.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ranked_match.cc b/src/ranked_match.cc
index d258b680..2abea8d9 100644
--- a/src/ranked_match.cc
+++ b/src/ranked_match.cc
@@ -91,6 +91,8 @@ static Optional<SubseqRes> subsequence_match_smart_case(StringView str, StringVi
if (it == str.end())
return {};
const Codepoint c = utf8::read_codepoint(subseq_it, subseq.end());
+ if (single_word and not is_word(c))
+ single_word = false;
while (true)
{
auto str_c = utf8::read_codepoint(it, str.end());
@@ -279,6 +281,7 @@ UnitTest test_ranked_match{[] {
kak_assert(preferred("foo_bar", "bar/foo_bar.baz", "foo_bar/qux.baz"));
kak_assert(preferred("fb", "foo_bar/", "foo.bar"));
kak_assert(preferred("foo_bar", "test_foo_bar", "foo_test_bar"));
+ kak_assert(preferred("rm.cc", "src/ranked_match.cc", "test/README.asciidoc"));
}};
UnitTest test_used_letters{[]()