mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
fix(highlight): always update window highlight if highlight changed
This commit is contained in:
parent
afaad8b54e
commit
23dcef9269
@ -451,9 +451,11 @@ int update_screen(int type)
|
||||
// reset cmdline_row now (may have been changed temporarily)
|
||||
compute_cmdrow();
|
||||
|
||||
bool hl_changed = false;
|
||||
// Check for changed highlighting
|
||||
if (need_highlight_changed) {
|
||||
highlight_changed();
|
||||
hl_changed = true;
|
||||
}
|
||||
|
||||
if (type == CLEAR) { // first clear screen
|
||||
@ -554,7 +556,7 @@ int update_screen(int type)
|
||||
* buffer. Each buffer must only be done once.
|
||||
*/
|
||||
FOR_ALL_WINDOWS_IN_TAB(wp, curtab) {
|
||||
update_window_hl(wp, type >= NOT_VALID);
|
||||
update_window_hl(wp, type >= NOT_VALID || hl_changed);
|
||||
|
||||
buf_T *buf = wp->w_buffer;
|
||||
if (buf->b_mod_set) {
|
||||
|
@ -276,6 +276,24 @@ describe('highlight defaults', function()
|
||||
]], {[0] = {bold=true, foreground=Screen.colors.Blue}})
|
||||
end)
|
||||
|
||||
it('linking updates window highlight immediately #16552', function()
|
||||
screen:try_resize(53, 4)
|
||||
screen:expect([[
|
||||
^ |
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
|
|
||||
]], {[0] = {bold=true, foreground=Screen.colors.Blue}})
|
||||
feed_command("hi NonTextAlt guifg=Red")
|
||||
feed_command("hi! link NonText NonTextAlt")
|
||||
screen:expect([[
|
||||
^ |
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
:hi! link NonText NonTextAlt |
|
||||
]], {[0] = {foreground=Screen.colors.Red}})
|
||||
end)
|
||||
|
||||
it('Cursor after `:hi clear|syntax reset` #6508', function()
|
||||
command('highlight clear|syntax reset')
|
||||
eq('guifg=bg guibg=fg', eval([[matchstr(execute('hi Cursor'), '\v(gui|cterm).*$')]]))
|
||||
|
Loading…
Reference in New Issue
Block a user