Skip to content

Commit

Permalink
fix: display global statusline correctly with ext_messages (#18436)
Browse files Browse the repository at this point in the history
(cherry picked from commit b5957c3)

Co-authored-by: shirasaka <shirasaka@n-create.co.jp>
  • Loading branch information
github-actions[bot] and shirasaka committed May 5, 2022
1 parent c469056 commit e28799f
Show file tree
Hide file tree
Showing 2 changed files with 108 additions and 5 deletions.
7 changes: 2 additions & 5 deletions src/nvim/window.c
Original file line number Diff line number Diff line change
Expand Up @@ -5499,7 +5499,7 @@ void win_setheight_win(int height, win_T *win)
}
}
cmdline_row = row;
p_ch = MAX(Rows - cmdline_row, 1);
p_ch = MAX(Rows - cmdline_row, ui_has(kUIMessages) ? 0 : 1);
curtab->tp_ch_used = p_ch;
msg_row = row;
msg_col = 0;
Expand Down Expand Up @@ -6007,10 +6007,7 @@ void win_drag_status_line(win_T *dragwin, int offset)
clear_cmdline = true;
}
cmdline_row = row;
p_ch = Rows - cmdline_row;
if (p_ch < 1) {
p_ch = 1;
}
p_ch = MAX(Rows - cmdline_row, ui_has(kUIMessages) ? 0 : 1);
curtab->tp_ch_used = p_ch;
redraw_all_later(SOME_VALID);
showmode();
Expand Down
106 changes: 106 additions & 0 deletions test/functional/ui/messages_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ local nvim_prog = helpers.nvim_prog
local iswin = helpers.iswin
local exc_exec = helpers.exc_exec
local exec_lua = helpers.exec_lua
local poke_eventloop = helpers.poke_eventloop

describe('ui/ext_messages', function()
local screen
Expand Down Expand Up @@ -1111,6 +1112,8 @@ describe('ui/ext_messages', function()
[3] = {bold = true},
[4] = {bold = true, foreground = Screen.colors.SeaGreen4},
[5] = {foreground = Screen.colors.Blue1},
[6] = {reverse = true},
[7] = {bold = true, reverse = true},
})
end)

Expand Down Expand Up @@ -1202,6 +1205,109 @@ describe('ui/ext_messages', function()
{content = { { "Press ENTER or type command to continue", 4 } }, kind = "return_prompt" }
}}
end)

it('supports global statusline', function()
feed(":set laststatus=3<cr>")
feed(":sp<cr>")
feed("<c-l>")
feed(":set cmdheight<cr>")
screen:expect({grid=[[
^ |
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{6:────────────────────────────────────────────────────────────────────────────────}|
|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{7:[No Name] }|
]], messages={
{content = { { " cmdheight=0" } }, kind = "" }
}})

feed("<c-w>+")
feed("<c-l>")
feed(":set cmdheight<cr>")
screen:expect({grid=[[
^ |
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{6:────────────────────────────────────────────────────────────────────────────────}|
|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{7:[No Name] }|
]], messages={
{content = { { " cmdheight=0" } }, kind = "" }
}})

feed(":set mouse=a<cr>")
meths.input_mouse('left', 'press', '', 0, 12, 10)
poke_eventloop()
meths.input_mouse('left', 'drag', '', 0, 12, 10)
meths.input_mouse('left', 'drag', '', 0, 11, 10)
feed("<c-l>")
feed(":set cmdheight<cr>")
screen:expect({grid=[[
^ |
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{6:────────────────────────────────────────────────────────────────────────────────}|
|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{7:[No Name] }|
]], messages={
{content = { { " cmdheight=0" } }, kind = "" }
}})
end)
end)

describe('ui/msg_puts_printf', function()
Expand Down

0 comments on commit e28799f

Please sign in to comment.