mirror of
https://github.com/neovim/neovim.git
synced 2025-09-16 08:18:17 +00:00
vim-patch:8.2.1969: Vim9: map() may change the list or dict item type
Problem: Vim9: map() may change the list or dict item type.
Solution: Add mapnew().
ea696852e7
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -6053,6 +6053,8 @@ M.funcs = {
|
||||
{expr1} must be a |List|, |Blob| or |Dictionary|.
|
||||
Replace each item in {expr1} with the result of evaluating
|
||||
{expr2}. For a |Blob| each byte is replaced.
|
||||
If the item type changes you may want to use |mapnew()| to
|
||||
create a new List or Dictionary.
|
||||
|
||||
{expr2} must be a |string| or |Funcref|.
|
||||
|
||||
@@ -6215,6 +6217,18 @@ M.funcs = {
|
||||
params = { { 'name', 'string' }, { 'mode', 'string' }, { 'abbr', 'any' } },
|
||||
signature = 'mapcheck({name} [, {mode} [, {abbr}]])',
|
||||
},
|
||||
mapnew = {
|
||||
args = 2,
|
||||
base = 1,
|
||||
desc = [=[
|
||||
Like |map()| but instead of replacing items in {expr1} a new
|
||||
List or Dictionary is created and returned. {expr1} remains
|
||||
unchanged.
|
||||
]=],
|
||||
name = 'mapnew',
|
||||
params = { { 'expr1', 'any' }, { 'expr2', 'any' } },
|
||||
signature = 'mapnew({expr1}, {expr2})',
|
||||
},
|
||||
mapset = {
|
||||
args = 3,
|
||||
base = 1,
|
||||
|
Reference in New Issue
Block a user