From 0a850673e3d4193d55f47bcbbc0b0da5f155307d Mon Sep 17 00:00:00 2001 From: glepnir Date: Mon, 25 Nov 2024 19:39:04 +0100 Subject: [PATCH] patch 9.1.0888: leftcol property not available in getwininfo() Problem: leftcol property not available in getwininfo() Solution: add leftcol property property (glepnir) closes: #16119 Signed-off-by: glepnir Signed-off-by: Christian Brabandt --- runtime/doc/builtin.txt | 4 +++- src/evalwindow.c | 1 + src/testdir/test_bufwintabinfo.vim | 12 ++++++++++++ src/version.c | 2 ++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index e763da065f..d0f0c7b030 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -1,4 +1,4 @@ -*builtin.txt* For Vim version 9.1. Last change: 2024 Nov 18 +*builtin.txt* For Vim version 9.1. Last change: 2024 Nov 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -5086,6 +5086,8 @@ getwininfo([{winid}]) *getwininfo()* botline last complete displayed buffer line bufnr number of buffer in the window height window height (excluding winbar) + leftcol first column displayed; only used when + 'wrap' is off loclist 1 if showing a location list {only with the +quickfix feature} quickfix 1 if quickfix or location list window diff --git a/src/evalwindow.c b/src/evalwindow.c index ceca2c9ff1..f8b903d505 100644 --- a/src/evalwindow.c +++ b/src/evalwindow.c @@ -426,6 +426,7 @@ get_win_info(win_T *wp, short tpnr, short winnr) 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); + dict_add_number(dict, "leftcol", wp->w_leftcol); #ifdef FEAT_TERMINAL dict_add_number(dict, "terminal", bt_terminal(wp->w_buffer)); diff --git a/src/testdir/test_bufwintabinfo.vim b/src/testdir/test_bufwintabinfo.vim index 403b98a365..1517a9b730 100644 --- a/src/testdir/test_bufwintabinfo.vim +++ b/src/testdir/test_bufwintabinfo.vim @@ -115,6 +115,18 @@ func Test_getbufwintabinfo() wincmd t | only endfunc +function Test_get_wininfo_leftcol() + set nowrap + set winwidth=10 + vsp + call setline(1, ['abcdefghijklmnopqrstuvwxyz']) + norm! 5zl + call assert_equal(5, getwininfo()[0].leftcol) + bwipe! + set wrap& + set winwidth& +endfunc + function Test_get_buf_options() let opts = bufnr()->getbufvar('&') call assert_equal(v:t_dict, type(opts)) diff --git a/src/version.c b/src/version.c index 9b6dd41986..53cfc6c1c5 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 888, /**/ 887, /**/