1
0
forked from aniani/vim

patch 8.1.1560: popup window hidden option not implemented yet

Problem:    Popup window hidden option not implemented yet.
Solution:   Implement the hidden option.
This commit is contained in:
Bram Moolenaar
2019-06-16 20:39:13 +02:00
parent eb2310d47d
commit 6313c4f41d
3 changed files with 45 additions and 2 deletions

View File

@@ -428,6 +428,13 @@ apply_options(win_T *wp, buf_T *buf UNUSED, dict_T *dict)
semsg(_(e_invarg2), tv_get_string(&di->di_tv));
}
nr = dict_get_number(dict, (char_u *)"hidden");
if (nr > 0)
{
wp->w_popup_flags |= POPF_HIDDEN;
--wp->w_buffer->b_nwindows;
}
popup_mask_refresh = TRUE;
}

View File

@@ -1310,7 +1310,7 @@ func Test_notifications()
call delete('XtestNotifications')
endfunc
function Test_popup_settext()
func Test_popup_settext()
if !CanRunVimInTerminal()
throw 'Skipped: cannot make screendumps'
endif
@@ -1352,4 +1352,38 @@ function Test_popup_settext()
" clean up
call StopVimInTerminal(buf)
call delete('XtestPopupSetText')
endfunction
endfunc
func Test_popup_hidden()
new
let winid = popup_atcursor('text', {'hidden': 1})
redraw
call assert_equal(0, popup_getpos(winid).visible)
call popup_close(winid)
let winid = popup_create('text', {'hidden': 1})
redraw
call assert_equal(0, popup_getpos(winid).visible)
call popup_close(winid)
func QuitCallback(id, res)
let s:cb_winid = a:id
let s:cb_res = a:res
endfunc
let winid = popup_dialog('make a choice', {'hidden': 1,
\ 'filter': 'popup_filter_yesno',
\ 'callback': 'QuitCallback',
\ })
redraw
call assert_equal(0, popup_getpos(winid).visible)
exe "normal anot used by filter\<Esc>"
call assert_equal('not used by filter', getline(1))
call popup_show(winid)
call feedkeys('y', "xt")
call assert_equal(1, s:cb_res)
bwipe!
delfunc QuitCallback
endfunc

View File

@@ -777,6 +777,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1560,
/**/
1559,
/**/