mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #23071 from luukvbaal/sloclater
fix: winbar is not redrawn on window change when 'showcmdloc' is "statusline"
This commit is contained in:
commit
0adb9f75c5
@ -1173,7 +1173,7 @@ static int normal_execute(VimState *state, int key)
|
||||
msg_col = 0;
|
||||
}
|
||||
|
||||
s->old_pos = curwin->w_cursor; // remember where cursor was
|
||||
s->old_pos = curwin->w_cursor; // remember where the cursor was
|
||||
|
||||
// When 'keymodel' contains "startsel" some keys start Select/Visual
|
||||
// mode.
|
||||
@ -1997,13 +1997,21 @@ static void display_showcmd(void)
|
||||
showcmd_is_clear = (len == 0);
|
||||
|
||||
if (*p_sloc == 's') {
|
||||
win_redr_status(curwin);
|
||||
setcursor(); // put cursor back where it belongs
|
||||
if (showcmd_is_clear) {
|
||||
curwin->w_redr_status = true;
|
||||
} else {
|
||||
win_redr_status(curwin);
|
||||
setcursor(); // put cursor back where it belongs
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*p_sloc == 't') {
|
||||
draw_tabline();
|
||||
setcursor(); // put cursor back where it belongs
|
||||
if (showcmd_is_clear) {
|
||||
redraw_tabline = true;
|
||||
} else {
|
||||
draw_tabline();
|
||||
setcursor(); // put cursor back where it belongs
|
||||
}
|
||||
return;
|
||||
}
|
||||
// 'showcmdloc' is "last" or empty
|
||||
|
@ -114,6 +114,41 @@ describe('winbar', function()
|
||||
{2:[No Name] [No Name] }|
|
||||
|
|
||||
]])
|
||||
-- 'showcmdloc' "statusline" should not interfere with winbar redrawing #23030
|
||||
command('set showcmd showcmdloc=statusline')
|
||||
feed('<C-W>w')
|
||||
feed('<C-W>')
|
||||
screen:expect([[
|
||||
{6:Set Up The Bars }│{6:Set Up The Bars }|
|
||||
│ |
|
||||
{3:~ }│{3:~ }|
|
||||
{3:~ }│{2:[No Name] }|
|
||||
{3:~ }│{5:Set Up The Bars }|
|
||||
{3:~ }│^ |
|
||||
{3:~ }│{3:~ }|
|
||||
{3:~ }│{4:[No Name] ^W }|
|
||||
{3:~ }│{6:Set Up The Bars }|
|
||||
{3:~ }│ |
|
||||
{3:~ }│{3:~ }|
|
||||
{2:[No Name] [No Name] }|
|
||||
|
|
||||
]])
|
||||
feed('w<C-W>W')
|
||||
screen:expect([[
|
||||
{6:Set Up The Bars }│{6:Set Up The Bars }|
|
||||
│ |
|
||||
{3:~ }│{3:~ }|
|
||||
{3:~ }│{2:[No Name] }|
|
||||
{3:~ }│{5:Set Up The Bars }|
|
||||
{3:~ }│^ |
|
||||
{3:~ }│{3:~ }|
|
||||
{3:~ }│{4:[No Name] }|
|
||||
{3:~ }│{6:Set Up The Bars }|
|
||||
{3:~ }│ |
|
||||
{3:~ }│{3:~ }|
|
||||
{2:[No Name] [No Name] }|
|
||||
|
|
||||
]])
|
||||
end)
|
||||
|
||||
it('works when switching value of \'winbar\'', function()
|
||||
|
Loading…
Reference in New Issue
Block a user