diff options
author | Sean Dewar <6256228+seandewar@users.noreply.github.com> | 2024-02-25 01:03:26 +0000 |
---|---|---|
committer | Sean Dewar <6256228+seandewar@users.noreply.github.com> | 2024-03-08 23:24:04 +0000 |
commit | 1c6b693ec1592f9d193fc9cc1bb03e738fb2bef6 (patch) | |
tree | 9771486507e8955b3e1f906c4a150c938040ca0f /test/functional/ui/statusline_spec.lua | |
parent | 24dfa47e4f4ca41d0c5f8c1c0f851602362c81d3 (diff) | |
download | rneovim-1c6b693ec1592f9d193fc9cc1bb03e738fb2bef6.tar.gz rneovim-1c6b693ec1592f9d193fc9cc1bb03e738fb2bef6.tar.bz2 rneovim-1c6b693ec1592f9d193fc9cc1bb03e738fb2bef6.zip |
vim-patch:9.1.0118: Use different restoration strategy in win_splitmove
Problem: saving and restoring all frames to split-move is overkill now
that WinNewPre is not fired when split-moving.
Solution: defer the flattening of frames until win_split_ins begins
reorganising them, and attempt to restore the layout by
undoing our changes. (Sean Dewar)
https://github.com/vim/vim/commit/704966c2545897dfcf426dd9ef946aeb6fa80c38
Adjust winframe_restore to account for Nvim's horizontal separators when the
global statusline is in use. Add a test.
Diffstat (limited to 'test/functional/ui/statusline_spec.lua')
-rw-r--r-- | test/functional/ui/statusline_spec.lua | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/functional/ui/statusline_spec.lua b/test/functional/ui/statusline_spec.lua index fee4b64d44..000e2b1b04 100644 --- a/test/functional/ui/statusline_spec.lua +++ b/test/functional/ui/statusline_spec.lua @@ -11,6 +11,7 @@ local exec = helpers.exec local exec_lua = helpers.exec_lua local eval = helpers.eval local sleep = vim.uv.sleep +local pcall_err = helpers.pcall_err local mousemodels = { 'extend', 'popup', 'popup_setpos' } @@ -474,6 +475,25 @@ describe('global statusline', function() | ]]) end) + + it('horizontal separators unchanged when failing to split-move window', function() + exec([[ + botright split + let &winwidth = &columns + let &winminwidth = &columns + ]]) + eq('Vim(wincmd):E36: Not enough room', pcall_err(command, 'wincmd L')) + command('mode') + screen:expect([[ + | + {1:~ }|*5 + ────────────────────────────────────────────────────────────| + ^ | + {1:~ }|*6 + {2:[No Name] 0,0-1 All}| + | + ]]) + end) end) it('statusline does not crash if it has Arabic characters #19447', function() |