diff options
| author | bfredl <bjorn.linse@gmail.com> | 2026-08-26 13:06:17 +0200 |
|---|---|---|
| committer | bfredl <bjorn.linse@gmail.com> | 2026-08-27 14:57:53 +0200 |
| commit | 6addf6758d7deca2722046d41fbe100f099059ac (patch) | |
| tree | d30ff24ec708f7e992c04ca0b8a287d878d04056 /test/functional/lua/buffer_updates_spec.lua | |
| parent | 6e1744c092cbf3aab48cc4f403ea5b6132339566 (diff) | |
| download | rneovim-6addf6758d7deca2722046d41fbe100f099059ac.tar.gz rneovim-6addf6758d7deca2722046d41fbe100f099059ac.tar.bz2 rneovim-6addf6758d7deca2722046d41fbe100f099059ac.zip | |
fix(ui): too many win_float_pos events for the popupmenu (partial fix)
I got annoyed about so many repeated `win_float_pos` events
for the popupmenu. This fixes some of them but not all of them.
vibe-less explanation: `need_highlight_changed = true` is very expensive
should not be needed when using a window-local highlight namespace. This
was only necessary when overriding the global highlight namespace. This
can instead be handled by using the correct `hl_attr_active` instead of
`highlight_attr`.
Also `pum_grid.pending_comp_index_update` can be cleared when using
win_float_pos prior to redraw.
I wanted to add a test for no repeated win_float_pos event in the same
redraw:flush cycle but that requires deeper cleanups, like
getting rid of crazy redraw panic intermingled deep into insexpand.c
(if "state" is correct, a single update_screen() after the weird
multilayer recursive dance should be enough.)
Diffstat (limited to 'test/functional/lua/buffer_updates_spec.lua')
0 files changed, 0 insertions, 0 deletions