aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_ftplugin/lua.lua
diff options
context:
space:
mode:
authorSébastien Hoffmann <contact@shoffmann.dev>2026-09-16 15:00:28 +0200
committerSébastien Hoffmann <contact@shoffmann.dev>2026-09-26 10:43:26 +0200
commit14ed853cc431ee8aa29cfa8dc1e1996506c887f6 (patch)
treeba1867163355e6ab29e4e4a2b1d605c95870c7df /runtime/lua/vim/_ftplugin/lua.lua
parent521eddec7c243a8166609bf1734cb940e9510fc5 (diff)
downloadrneovim-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