changeset 26191:72c394673e00 v8.2.3627

patch 8.2.3627: difficult to know where the text starts in a window Commit: https://github.com/vim/vim/commit/cdf5fdb2948ecdd24c6a1e27ed33dfa847c2b3e4 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Nov 20 11:14:24 2021 +0000 patch 8.2.3627: difficult to know where the text starts in a window Problem: difficult to know where the text starts in a window. (Sergey Vlasov) Solution: Add the "textoff" entry in the result of getwininfo(). (closes #9163)
author Bram Moolenaar <Bram@vim.org>
date Sat, 20 Nov 2021 12:15:03 +0100
parents 082bef51c932
children e3ce27989e21
files runtime/doc/eval.txt src/evalwindow.c src/testdir/test_bufwintabinfo.vim src/version.c
diffstat 4 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -6382,6 +6382,9 @@ getwininfo([{winid}])					*getwininfo()*
 					otherwise
 			wincol		leftmost screen column of the window;
 					"col" from |win_screenpos()|
+			textoff		number of columns occupied by any
+					'foldcolumn', 'signcolumn' and line
+					number in front of the text
 			winid		|window-ID|
 			winnr		window number
 			winrow		topmost screen line of the window;
--- a/src/evalwindow.c
+++ b/src/evalwindow.c
@@ -407,6 +407,7 @@ get_win_info(win_T *wp, short tpnr, shor
 #endif
     dict_add_number(dict, "width", wp->w_width);
     dict_add_number(dict, "wincol", wp->w_wincol + 1);
+    dict_add_number(dict, "textoff", win_col_off(wp));
     dict_add_number(dict, "bufnr", wp->w_buffer->b_fnum);
 
 #ifdef FEAT_TERMINAL
--- a/src/testdir/test_bufwintabinfo.vim
+++ b/src/testdir/test_bufwintabinfo.vim
@@ -50,6 +50,7 @@ func Test_getbufwintabinfo()
 
   only
   let w1_id = win_getid()
+  setl foldcolumn=3
   new
   let w2_id = win_getid()
   tabnew | let w3_id = win_getid()
@@ -68,6 +69,7 @@ func Test_getbufwintabinfo()
   call assert_equal(winbufnr(2), winlist[1].bufnr)
   call assert_equal(winheight(2), winlist[1].height)
   call assert_equal(1, winlist[1].wincol)
+  call assert_equal(3, winlist[1].textoff)  " foldcolumn
   call assert_equal(tablineheight + winheight(1) + 2, winlist[1].winrow)
 
   call assert_equal(1, winlist[2].winnr)
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3627,
+/**/
     3626,
 /**/
     3625,