aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-17 14:12:24 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-08-17 15:37:32 +0800
commitb193674b4a1dce1b348489fa13dd42254b9a3ebb (patch)
tree0f2ba228c173892c16b082236f0eb124ad02fab8 /runtime
parentc5576fcc8003280489c0aa0323a966e6de33e31f (diff)
downloadrneovim-b193674b4a1dce1b348489fa13dd42254b9a3ebb.tar.gz
rneovim-b193674b4a1dce1b348489fa13dd42254b9a3ebb.tar.bz2
rneovim-b193674b4a1dce1b348489fa13dd42254b9a3ebb.zip
vim-patch:partial:8.2.3849: functions implementing reduce and map are too long
Problem: Functions implementing reduce and map are too long. Solution: Use a function for each type of value. Add a few more test cases and add to the help. (Yegappan Lakshmanan, closes vim/vim#9370) https://github.com/vim/vim/commit/389b72196e6aaeafe3f907c73d271f2c6b931140 Partial port as this doesn't include handling for non-materialized List. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/builtin.txt13
-rw-r--r--runtime/lua/vim/_meta/vimfn.lua13
2 files changed, 14 insertions, 12 deletions
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 6303d73db5..4b617763da 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1635,8 +1635,8 @@ filter({expr1}, {expr2}) *filter()*
of the current item. For a |Dictionary| |v:key| has the key
of the current item and for a |List| |v:key| has the index of
the current item. For a |Blob| |v:key| has the index of the
- current byte.
-
+ current byte. For a |String| |v:key| has the index of the
+ current character.
Examples: >vim
call filter(mylist, 'v:val !~ "OLD"')
< Removes the items where "OLD" appears. >vim
@@ -4080,7 +4080,8 @@ map({expr1}, {expr2}) *map()*
of the current item. For a |Dictionary| |v:key| has the key
of the current item and for a |List| |v:key| has the index of
the current item. For a |Blob| |v:key| has the index of the
- current byte.
+ current byte. For a |String| |v:key| has the index of the
+ current character.
Example: >vim
call map(mylist, '"> " .. v:val .. " <"')
< This puts "> " before and " <" after each item in "mylist".
@@ -5514,9 +5515,9 @@ readfile({fname} [, {type} [, {max}]]) *readfile()*
reduce({object}, {func} [, {initial}]) *reduce()* *E998*
{func} is called for every item in {object}, which can be a
- |String|, |List| or a |Blob|. {func} is called with two arguments:
- the result so far and current item. After processing all
- items the result is returned.
+ |String|, |List| or a |Blob|. {func} is called with two
+ arguments: the result so far and current item. After
+ processing all items the result is returned.
{initial} is the initial result. When omitted, the first item
in {object} is used and {func} is first called for the second
diff --git a/runtime/lua/vim/_meta/vimfn.lua b/runtime/lua/vim/_meta/vimfn.lua
index 4fe9093666..17eda634e0 100644
--- a/runtime/lua/vim/_meta/vimfn.lua
+++ b/runtime/lua/vim/_meta/vimfn.lua
@@ -2017,8 +2017,8 @@ function vim.fn.filewritable(file) end
--- of the current item. For a |Dictionary| |v:key| has the key
--- of the current item and for a |List| |v:key| has the index of
--- the current item. For a |Blob| |v:key| has the index of the
---- current byte.
----
+--- current byte. For a |String| |v:key| has the index of the
+--- current character.
--- Examples: >vim
--- call filter(mylist, 'v:val !~ "OLD"')
--- <Removes the items where "OLD" appears. >vim
@@ -4937,7 +4937,8 @@ function vim.fn.log10(expr) end
--- of the current item. For a |Dictionary| |v:key| has the key
--- of the current item and for a |List| |v:key| has the index of
--- the current item. For a |Blob| |v:key| has the index of the
---- current byte.
+--- current byte. For a |String| |v:key| has the index of the
+--- current character.
--- Example: >vim
--- call map(mylist, '"> " .. v:val .. " <"')
--- <This puts "> " before and " <" after each item in "mylist".
@@ -6551,9 +6552,9 @@ function vim.fn.readdir(directory, expr) end
function vim.fn.readfile(fname, type, max) end
--- {func} is called for every item in {object}, which can be a
---- |String|, |List| or a |Blob|. {func} is called with two arguments:
---- the result so far and current item. After processing all
---- items the result is returned.
+--- |String|, |List| or a |Blob|. {func} is called with two
+--- arguments: the result so far and current item. After
+--- processing all items the result is returned.
---
--- {initial} is the initial result. When omitted, the first item
--- in {object} is used and {func} is first called for the second