Mercurial > vim
diff runtime/doc/eval.txt @ 23475:79fd5217b125 v8.2.2280
patch 8.2.2280: fuzzy matching doesn't give access to the scores
Commit: https://github.com/vim/vim/commit/9d19e4f4ba55f8bef18d4991abdf740ff6472dba
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 2 18:31:32 2021 +0100
patch 8.2.2280: fuzzy matching doesn't give access to the scores
Problem: Fuzzy matching doesn't give access to the scores.
Solution: Return the scores with a third list. (Yegappan Lakshmanan,
closes #7596)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 02 Jan 2021 18:45:03 +0100 |
parents | 15fa3923cc49 |
children | 87671ccc6c6b |
line wrap: on
line diff
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -7471,24 +7471,24 @@ matchfuzzy({list}, {str} [, {dict}]) * matchfuzzypos({list}, {str} [, {dict}]) *matchfuzzypos()* Same as |matchfuzzy()|, but returns the list of matched - strings and the list of character positions where characters - in {str} matches. You can use |byteidx()|to convert a - character position to a byte position. - + strings, the list of character positions where characters + in {str} matches and a list of matching scores. You can + use |byteidx()|to convert a character position to a byte + position. If {str} matches multiple times in a string, then only the positions for the best match is returned. If there are no matching strings or there is an error, then a - list with two empty list items is returned. + list with three empty list items is returned. Example: > :echo matchfuzzypos(['testing'], 'tsg') -< results in [['testing'], [[0, 2, 6]]] > +< results in [['testing'], [[0, 2, 6]], [99]] > :echo matchfuzzypos(['clay', 'lacy'], 'la') -< results in [['lacy', 'clay'], [[0, 1], [1, 2]]] > +< results in [['lacy', 'clay'], [[0, 1], [1, 2]], [153, 133]] > :echo [{'text': 'hello', 'id' : 10}]->matchfuzzypos('ll', {'key' : 'text'}) -< results in [{'id': 10, 'text': 'hello'}] [[2, 3]] +< results in [[{'id': 10, 'text': 'hello'}], [[2, 3]], [127]] matchlist({expr}, {pat} [, {start} [, {count}]]) *matchlist()* Same as |match()|, but return a |List|. The first item in the