vim-patch:8.2.4825: can only get a list of mappings

Problem:    Can only get a list of mappings.
Solution:   Add the optional {abbr} argument. (Ernie Rael, closes vim/vim#10277)
            Rename to maplist().  Rename test file.

09661203ec

Co-authored-by: Ernie Rael <errael@raelity.com>
This commit is contained in:
zeertzjq
2023-11-09 19:36:58 +08:00
parent 2dfcd5a22b
commit d4dbfb092b
6 changed files with 92 additions and 60 deletions

View File

@@ -3957,22 +3957,6 @@ M.funcs = {
params = { { 'nr', 'integer' }, { 'what', 'any' } },
signature = 'getloclist({nr} [, {what}])',
},
getmappings = {
args = 0,
desc = [[
Returns a |List| of all mappings. Each List item is a |Dict|,
the same as what is returned by |maparg()|, see
|mapping-dict|.
Example to show all mappings with "MultiMatch" in rhs: >
echo getmappings()->filter({_, m ->
\ match(get(m, 'rhs', ''), 'MultiMatch') >= 0
\ })
]],
name = 'getmappings',
params = {},
signature = 'getmappings()'
},
getmarklist = {
args = { 0, 1 },
base = 1,
@@ -6158,7 +6142,8 @@ M.funcs = {
When {dict} is omitted or zero: Return the rhs of mapping
{name} in mode {mode}. The returned String has special
characters translated like in the output of the ":map" command
listing.
listing. When {dict} is TRUE a dictionary is returned, see
below. To get a list of all mappings see |maplist()|.
When there is no mapping for {name}, an empty String is
returned if {dict} is FALSE, otherwise returns an empty Dict.
@@ -6271,6 +6256,23 @@ M.funcs = {
params = { { 'name', 'string' }, { 'mode', 'string' }, { 'abbr', 'any' } },
signature = 'mapcheck({name} [, {mode} [, {abbr}]])',
},
maplist = {
args = { 0, 1 },
desc = [[
Returns a |List| of all mappings. Each List item is a |Dict|,
the same as what is returned by |maparg()|, see
|mapping-dict|. When {abbr} is there and it is |TRUE| use
abbreviations instead of mappings.
Example to show all mappings with "MultiMatch" in rhs: >vim
echo maplist()->filter({_, m ->
\ match(get(m, 'rhs', ''), 'MultiMatch') >= 0
\ })
]],
name = 'maplist',
params = {},
signature = 'maplist([{abbr}])'
},
mapnew = {
args = 2,
base = 1,