diff options
author | Sean Dewar <6256228+seandewar@users.noreply.github.com> | 2024-03-09 01:00:33 +0000 |
---|---|---|
committer | Sean Dewar <6256228+seandewar@users.noreply.github.com> | 2024-03-09 01:00:33 +0000 |
commit | 54022a2946aca5de991e7fa1ebc2954340ec20a8 (patch) | |
tree | 295a81edf26f8f89899106995fde3681910555cb /src/nvim/api/win_config.c | |
parent | e7c262f5553c1c6e1de95bcbdc8cfe7cc9d5e55e (diff) | |
download | rneovim-54022a2946aca5de991e7fa1ebc2954340ec20a8.tar.gz rneovim-54022a2946aca5de991e7fa1ebc2954340ec20a8.tar.bz2 rneovim-54022a2946aca5de991e7fa1ebc2954340ec20a8.zip |
fix(api): win_set_config update statuslines after removing splits
Problem: nvim_win_set_config does not update statuslines after removing a split.
Solution: call last_status.
Didn't realize this was missing in the original nvim_win_set_config for splits
PR.
As it can only be done for the current tabpage, do it if win_tp == curtab;
enter_tabpage will eventually call last_status anyway when the user enters
another tabpage.
Diffstat (limited to 'src/nvim/api/win_config.c')
-rw-r--r-- | src/nvim/api/win_config.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/api/win_config.c b/src/nvim/api/win_config.c index dab1e4e80b..32b2156313 100644 --- a/src/nvim/api/win_config.c +++ b/src/nvim/api/win_config.c @@ -550,6 +550,10 @@ void nvim_win_set_config(Window window, Dict(win_config) *config, Error *err) } } win_remove(win, win_tp == curtab ? NULL : win_tp); + if (win_tp == curtab) { + last_status(false); // may need to remove last status line + win_comp_pos(); // recompute window positions + } int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER; TRY_WRAP(err, { |