From 014c731fa50c28c94d56545938b6a05a86234c30 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 1 Oct 2025 18:30:38 +0000 Subject: [PATCH] runtime(doc): make :h virtcol() more accurate The current description (especially the "unlimited width" part) is inaccurate in several ways: - The size of virtual text can depend on window width. In particular, the size of "above" virtual text can be equal to window width. - A double-width character that doesn't fit adds 1 to the virtual column of the following characters. - The size of 'showbreak' and 'breakindent' is counted. related: #5713 closes: #18447 Signed-off-by: zeertzjq Signed-off-by: Christian Brabandt --- runtime/doc/builtin.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index 13e73add6b..46450685aa 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -1,4 +1,4 @@ -*builtin.txt* For Vim version 9.1. Last change: 2025 Sep 29 +*builtin.txt* For Vim version 9.1. Last change: 2025 Oct 01 VIM REFERENCE MANUAL by Bram Moolenaar @@ -12346,9 +12346,9 @@ values({dict}) *values()* virtcol({expr} [, {list} [, {winid}]]) *virtcol()* The result is a Number, which is the screen column of the file - position given with {expr}. That is, the last screen position - occupied by the character at that position, when the screen - would be of unlimited width. When there is a at the + position given with {expr}. That is, the total number of + screen cells occupied by the part of the line until the end of + the character at that position. When there is a at the position, the returned Number will be the column at the end of the . For example, for a in column 1, with 'ts' set to 8, it returns 8. |conceal| is ignored.