diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-08-18 08:42:45 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-18 08:42:45 +0800 |
commit | f8afa8023ee032dfb2aa9a6489f51484fb276732 (patch) | |
tree | f1520e2fc6d990bd9cf9876bdf1bf126f5881431 /src/nvim/eval.lua | |
parent | 46163ddf5d718c4e749df78ef8e54d0715de6cb9 (diff) | |
download | rneovim-f8afa8023ee032dfb2aa9a6489f51484fb276732.tar.gz rneovim-f8afa8023ee032dfb2aa9a6489f51484fb276732.tar.bz2 rneovim-f8afa8023ee032dfb2aa9a6489f51484fb276732.zip |
vim-patch:9.0.1728: missing winid argument for virtcol() (#24770)
Problem: missing winid argument for virtcol()
Solution: Add a {winid} argument to virtcol()
Other functions col(), charcol() and virtcol2col() support a {winid}
argument, so it makes sense for virtcol() to also support than.
Also add test for virtcol2col() with 'showbreak' and {winid}.
closes: vim/vim#12633
https://github.com/vim/vim/commit/825cf813fa0fddf085fcbd3194781e875320ff63
Diffstat (limited to 'src/nvim/eval.lua')
-rw-r--r-- | src/nvim/eval.lua | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index e019e8fcab..2b89d34a6d 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -11893,7 +11893,7 @@ M.funcs = { signature = 'values({dict})', }, virtcol = { - args = { 1, 2 }, + args = { 1, 3 }, base = 1, desc = [=[ The result is a Number, which is the screen column of the file @@ -11927,10 +11927,13 @@ M.funcs = { returns the cursor position. Differs from |'<| in that it's updated right away. - If {list} is present and non-zero then virtcol() returns a List - with the first and last screen position occupied by the + If {list} is present and non-zero then virtcol() returns a + List with the first and last screen position occupied by the character. + With the optional {winid} argument the values are obtained for + that window instead of the current window. + Note that only marks in the current file can be used. Examples: >vim " With text "foo^Lbar" and cursor on the "^L": @@ -11942,15 +11945,15 @@ M.funcs = { " With text " there", with 't at 'h': echo virtcol("'t") " returns 6 - <Techo he first column is 1. 0 is returned for an error. - A echo more advanced example that echoes the maximum length of + <The first column is 1. 0 or [0, 0] is returned for an error. + A more advanced example that echoes the maximum length of all lines: >vim echo max(map(range(1, line('$')), "virtcol([v:val, '$'])")) ]=], name = 'virtcol', - params = { { 'expr', 'any' }, { 'list', 'any' } }, - signature = 'virtcol({expr} [, {list}])', + params = { { 'expr', 'any' }, { 'list', 'any' }, { 'winid', 'integer' } }, + signature = 'virtcol({expr} [, {list} [, {winid}]])', }, virtcol2col = { args = 3, |