diff options
| author | Sébastien Hoffmann <contact@shoffmann.dev> | 2026-09-16 15:00:28 +0200 |
|---|---|---|
| committer | Sébastien Hoffmann <contact@shoffmann.dev> | 2026-09-26 10:43:26 +0200 |
| commit | 14ed853cc431ee8aa29cfa8dc1e1996506c887f6 (patch) | |
| tree | ba1867163355e6ab29e4e4a2b1d605c95870c7df /runtime/lua/vim/_ftplugin/lua.lua | |
| parent | 521eddec7c243a8166609bf1734cb940e9510fc5 (diff) | |
| download | rneovim-14ed853cc431ee8aa29cfa8dc1e1996506c887f6.tar.gz rneovim-14ed853cc431ee8aa29cfa8dc1e1996506c887f6.tar.bz2 rneovim-14ed853cc431ee8aa29cfa8dc1e1996506c887f6.zip | |
feat(statusline): highlight scopes
Problem 1: many status line sections are automatically hidden when they
currently aren't relevant. When such a section contains highlights, the
exact pre-section highlighting needs to be reset at the end, otherwise
the highlighting of unrelated sections to the right depend on whether
the section is hidden or not. And in case of auto-hiding item groups,
it might even refuse to hide.
Problem 2: when only a part in the middle of a section should deviate
from the surrounding highlighting, the section needs knowledge of the
highlighting outside in order to reset it, which makes it hard to create
self-contained, reusable modules.
Problem 3: with nested sections of progressively stacked highlighting
changes, the last %$-modifications effectively have to be subtracted
when ending a subsection. This can only be done by replaying all the
pre-subsection changes from the last %#.
Solution: Introduce highlight scopes %#(...%#) that automatically reset
pre-scope highlighting at the end.
ref #26037
ref #29976
ref #29980
ref #35806
ref #36685
Diffstat (limited to 'runtime/lua/vim/_ftplugin/lua.lua')
0 files changed, 0 insertions, 0 deletions