diff options
author | luukvbaal <luukvbaal@gmail.com> | 2025-02-12 11:01:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-12 11:01:06 +0100 |
commit | 82a215cb2dc2b80c1b8bc455c90a928b636d8b3a (patch) | |
tree | b264cb2900a0bd59b3ff4976f0cf47a06cfd5f19 /src/nvim/option.c | |
parent | 6982106f8ca5ceaa00c9909e64cc94d2794b9143 (diff) | |
download | rneovim-82a215cb2dc2b80c1b8bc455c90a928b636d8b3a.tar.gz rneovim-82a215cb2dc2b80c1b8bc455c90a928b636d8b3a.tar.bz2 rneovim-82a215cb2dc2b80c1b8bc455c90a928b636d8b3a.zip |
feat(options): add 'eventignorewin' (#32152)
vim-patch:partial:9.1.1084: Unable to persistently ignore events in a window and its buffers
Problem: Unable to persistently ignore events in a window and its buffers.
Solution: Add 'eventignorewin' option to ignore events in a window and buffer
(Luuk van Baal)
Add the window-local 'eventignorewin' option that is analogous to
'eventignore', but applies to a certain window and its buffers. Identify
events that should be allowed in 'eventignorewin', adapt "auto_event"
and "event_tab" to encode this information. Window context is not passed
onto apply_autocmds_group(), and when to ignore an event is a bit
ambiguous when "buf" is not "curbuf", rather than a large refactor, only
ignore an event when all windows into "buf" are ignoring the event.
https://github.com/vim/vim/commit/b7147f8236c962cd74d1ce028d9106f1c449ea6c
vim-patch:9.1.1102: tests: Test_WinScrolled_Resized_eiw() uses wrong filename
Problem: tests: Test_WinScrolled_Resized_eiw() uses wrong filename
(Luuk van Baal, after v9.1.1084)
Solution: Rename the filename to something more unique
https://github.com/vim/vim/commit/bfc7719e48ffc365ee0a1bd1888120d26b6365f0
Diffstat (limited to 'src/nvim/option.c')
-rw-r--r-- | src/nvim/option.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c index 796165453c..f92ec349da 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -4580,6 +4580,8 @@ void *get_varp_from(vimoption_T *p, buf_T *buf, win_T *win) return &(win->w_p_cc); case kOptDiff: return &(win->w_p_diff); + case kOptEventignorewin: + return &(win->w_p_eiw); case kOptFoldcolumn: return &(win->w_p_fdc); case kOptFoldenable: @@ -4875,6 +4877,7 @@ void copy_winopt(winopt_T *from, winopt_T *to) to->wo_cc = copy_option_val(from->wo_cc); to->wo_diff = from->wo_diff; to->wo_diff_saved = from->wo_diff_saved; + to->wo_eiw = copy_option_val(from->wo_eiw); to->wo_cocu = copy_option_val(from->wo_cocu); to->wo_cole = from->wo_cole; to->wo_fdc = copy_option_val(from->wo_fdc); @@ -4919,6 +4922,7 @@ static void check_winopt(winopt_T *wop) check_string_option(&wop->wo_fde); check_string_option(&wop->wo_fdt); check_string_option(&wop->wo_fmr); + check_string_option(&wop->wo_eiw); check_string_option(&wop->wo_scl); check_string_option(&wop->wo_rlc); check_string_option(&wop->wo_sbr); @@ -4946,6 +4950,7 @@ void clear_winopt(winopt_T *wop) clear_string_option(&wop->wo_fde); clear_string_option(&wop->wo_fdt); clear_string_option(&wop->wo_fmr); + clear_string_option(&wop->wo_eiw); clear_string_option(&wop->wo_scl); clear_string_option(&wop->wo_rlc); clear_string_option(&wop->wo_sbr); |