aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-11-09 19:36:58 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-11-09 21:34:04 +0800
commitd4dbfb092b370bced6728e07a38661a579ff5e4b (patch)
treed54d08345dda447f1538af58de476f427c843373 /src/nvim/eval.lua
parent2dfcd5a22b8f26091aa7398fdb8b0ea70ed7b28d (diff)
downloadrneovim-d4dbfb092b370bced6728e07a38661a579ff5e4b.tar.gz
rneovim-d4dbfb092b370bced6728e07a38661a579ff5e4b.tar.bz2
rneovim-d4dbfb092b370bced6728e07a38661a579ff5e4b.zip
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. https://github.com/vim/vim/commit/09661203ecefbee6a6f09438afcff1843e9dbfb4 Co-authored-by: Ernie Rael <errael@raelity.com>
Diffstat (limited to 'src/nvim/eval.lua')
-rw-r--r--src/nvim/eval.lua36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua
index 5aa4d65362..de7fb53455 100644
--- a/src/nvim/eval.lua
+++ b/src/nvim/eval.lua
@@ -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,