aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_meta
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-03-23 16:33:53 +0800
committerGitHub <noreply@github.com>2024-03-23 16:33:53 +0800
commit881f5e59173a4f1b9a4cb16e425709e40d79d0e9 (patch)
treec6bab71f98cc606182c29f81f7d454d6a36cacb6 /runtime/lua/vim/_meta
parent2955c921ceaf5764e8d1592a78370d9ca3a268e2 (diff)
downloadrneovim-881f5e59173a4f1b9a4cb16e425709e40d79d0e9.tar.gz
rneovim-881f5e59173a4f1b9a4cb16e425709e40d79d0e9.tar.bz2
rneovim-881f5e59173a4f1b9a4cb16e425709e40d79d0e9.zip
vim-patch:9.1.0199: Not enough tests for the slice() function (#27991)
Problem: Not enough tests for the slice() function. Solution: Test with multibyte chars, and in both Legacy and Vim9 script. Update docs to be clearer about how it treats composing chars. (zeertzjq) closes: vim/vim#14275 https://github.com/vim/vim/commit/ad38769030b5fa86aa0e8f1f0b4266690dfad4c9
Diffstat (limited to 'runtime/lua/vim/_meta')
-rw-r--r--runtime/lua/vim/_meta/vimfn.lua9
1 files changed, 5 insertions, 4 deletions
diff --git a/runtime/lua/vim/_meta/vimfn.lua b/runtime/lua/vim/_meta/vimfn.lua
index da251f89ad..caddd4dde2 100644
--- a/runtime/lua/vim/_meta/vimfn.lua
+++ b/runtime/lua/vim/_meta/vimfn.lua
@@ -8800,7 +8800,8 @@ function vim.fn.sinh(expr) end
--- Similar to using a |slice| "expr[start : end]", but "end" is
--- used exclusive. And for a string the indexes are used as
--- character indexes instead of byte indexes.
---- Also, composing characters are not counted.
+--- Also, composing characters are treated as a part of the
+--- preceding base character.
--- When {end} is omitted the slice continues to the last item.
--- When {end} is -1 the last item is omitted.
--- Returns an empty value if {start} or {end} are invalid.
@@ -9208,8 +9209,8 @@ function vim.fn.strcharlen(string) end
--- of byte index and length.
--- When {skipcc} is omitted or zero, composing characters are
--- counted separately.
---- When {skipcc} set to 1, Composing characters are ignored,
---- similar to |slice()|.
+--- When {skipcc} set to 1, composing characters are treated as a
+--- part of the preceding base character, similar to |slice()|.
--- When a character index is used where a character does not
--- exist it is omitted and counted as one character. For
--- example: >vim
@@ -9229,7 +9230,7 @@ function vim.fn.strcharpart(src, start, len, skipcc) end
--- in String {string}.
--- When {skipcc} is omitted or zero, composing characters are
--- counted separately.
---- When {skipcc} set to 1, Composing characters are ignored.
+--- When {skipcc} set to 1, composing characters are ignored.
--- |strcharlen()| always does this.
---
--- Returns zero on error.