diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/eval.c | 5 | ||||
| -rw-r--r-- | src/nvim/testdir/test_bufwintabinfo.vim | 45 | ||||
| -rw-r--r-- | src/nvim/version.c | 2 | 
3 files changed, 51 insertions, 1 deletions
| diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 91f7233a21..a59bfca2a5 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -10905,6 +10905,11 @@ static dict_T *get_win_info(win_T *wp, short tpnr, short winnr)    dict_add_nr_str(dict, "width", wp->w_width, NULL);    dict_add_nr_str(dict, "bufnum", wp->w_buffer->b_fnum, NULL); +  dict_add_nr_str(dict, "quickfix", bt_quickfix(wp->w_buffer), NULL); +  dict_add_nr_str(dict, "loclist", +                  (bt_quickfix(wp->w_buffer) && wp->w_llist_ref != NULL), +                  NULL); +    // Copy window variables    dict_T *vars = dict_copy(NULL, wp->w_vars, true, 0);    if (vars != NULL) { diff --git a/src/nvim/testdir/test_bufwintabinfo.vim b/src/nvim/testdir/test_bufwintabinfo.vim index 236ca30f99..fa9d97bc85 100644 --- a/src/nvim/testdir/test_bufwintabinfo.vim +++ b/src/nvim/testdir/test_bufwintabinfo.vim @@ -14,6 +14,27 @@ function Test_getbufwintabinfo()      hide enew      call assert_equal(3, len(getbufinfo({'bufloaded':1}))) +    set tabstop&vim +    let b:editor = 'vim' +    let l = getbufinfo('%') +    call assert_equal(bufnr('%'), l[0].nr) +    call assert_equal(8, l[0].options.tabstop) +    call assert_equal('vim', l[0].variables.editor) +    call assert_notequal(-1, index(l[0].windows, bufwinid('%'))) + +    if has('signs') +	call append(0, ['Linux', 'Windows', 'Mac']) +	sign define Mark text=>> texthl=Search +	exe "sign place 2 line=3 name=Mark buffer=" . bufnr('%') +	let l = getbufinfo('%') +	call assert_equal(2, l[0].signs[0].id) +	call assert_equal(3, l[0].signs[0].lnum) +	call assert_equal('Mark', l[0].signs[0].name) +	sign unplace * +	sign undefine Mark +	enew! +    endif +      only      let w1_id = win_getid()      new @@ -21,18 +42,42 @@ function Test_getbufwintabinfo()      tabnew | let w3_id = win_getid()      new | let w4_id = win_getid()      new | let w5_id = win_getid() +    call setwinvar(0, 'signal', 'green')      tabfirst      let winlist = getwininfo()      call assert_equal(5, len(winlist)) +    call assert_equal(winbufnr(2), winlist[1].bufnum) +    call assert_equal(winheight(2), winlist[1].height) +    call assert_equal(1, winlist[2].nr) +    call assert_equal('auto', winlist[0].options.signcolumn)      call assert_equal(2, winlist[3].tpnr) +    call assert_equal('green', winlist[2].variables.signal) +    call assert_equal(winwidth(1), winlist[0].width) +    call assert_equal(w4_id, winlist[3].winid)      let winfo = getwininfo(w5_id)[0]      call assert_equal(2, winfo.tpnr)      call assert_equal([], getwininfo(3)) +    call settabvar(1, 'space', 'build')      let tablist = gettabinfo()      call assert_equal(2, len(tablist))      call assert_equal(3, len(tablist[1].windows)) +    call assert_equal(2, tablist[1].nr) +    call assert_equal('build', tablist[0].variables.space) +    call assert_equal(w2_id, tablist[0].windows[0])      call assert_equal([], gettabinfo(3))      tabonly | only + +    lexpr '' +    lopen +    copen +    let winlist = getwininfo() +    call assert_false(winlist[0].quickfix) +    call assert_false(winlist[0].loclist) +    call assert_true(winlist[1].quickfix) +    call assert_true(winlist[1].loclist) +    call assert_true(winlist[2].quickfix) +    call assert_false(winlist[2].loclist) +    wincmd t | only  endfunction diff --git a/src/nvim/version.c b/src/nvim/version.c index b1bb9f02f4..8e9f7938cc 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -225,7 +225,7 @@ static int included_patches[] = {    // 2218 NA    2217,    // 2216 NA -  // 2215, +  2215,    // 2214 NA    2213,    2212, | 
