diff options
| author | luukvbaal <luukvbaal@gmail.com> | 2026-04-20 02:36:55 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-19 20:36:55 -0400 |
| commit | fe986e5dd094b2f7e1d28e64e52ffbc5f7292191 (patch) | |
| tree | eae04471b5d12c3e419b4961c8f5405706ffb47b /runtime/lua/vim/_core | |
| parent | 5f6abd34f5c12534df0d79ee3507d40106ad505d (diff) | |
| download | rneovim-fe986e5dd094b2f7e1d28e64e52ffbc5f7292191.tar.gz rneovim-fe986e5dd094b2f7e1d28e64e52ffbc5f7292191.tar.bz2 rneovim-fe986e5dd094b2f7e1d28e64e52ffbc5f7292191.zip | |
feat(options): add 'winpinned' to pin a window #39157
Problem:
- Unable to "pin" a window to prevent closing without specifically
being targeted.
- :fclose closes hidden windows (even before visible windows).
Solution:
- Add 'winpinned' window-local option. When set, window is skipped by
:fclose and :only. Pin the ui2 cmdline window (which should always be
visible), so that it is not closed by :only/fclose.
- Skip over hidden (and pinned) windows with :fclose.
Co-authored-by: glepnir <glephunter@gmail.com>
Diffstat (limited to 'runtime/lua/vim/_core')
| -rw-r--r-- | runtime/lua/vim/_core/ui2.lua | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/runtime/lua/vim/_core/ui2.lua b/runtime/lua/vim/_core/ui2.lua index 77ea7f57b3..4c7ceefda0 100644 --- a/runtime/lua/vim/_core/ui2.lua +++ b/runtime/lua/vim/_core/ui2.lua @@ -130,6 +130,8 @@ function M.check_targets() hl = 'Normal:MsgArea' elseif type == 'msg' then hl = search_hide + elseif type == 'cmd' then + api.nvim_set_option_value('winpinned', true, { scope = 'local' }) end api.nvim_set_option_value('winhighlight', hl, { scope = 'local' }) end) |