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)
|
// reset cmdline_row now (may have been changed temporarily)
|
||||||
compute_cmdrow();
|
compute_cmdrow();
|
||||||
|
|
||||||
|
bool hl_changed = false;
|
||||||
// Check for changed highlighting
|
// Check for changed highlighting
|
||||||
if (need_highlight_changed) {
|
if (need_highlight_changed) {
|
||||||
highlight_changed();
|
highlight_changed();
|
||||||
|
hl_changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type == CLEAR) { // first clear screen
|
if (type == CLEAR) { // first clear screen
|
||||||
@ -554,7 +556,7 @@ int update_screen(int type)
|
|||||||
* buffer. Each buffer must only be done once.
|
* buffer. Each buffer must only be done once.
|
||||||
*/
|
*/
|
||||||
FOR_ALL_WINDOWS_IN_TAB(wp, curtab) {
|
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;
|
buf_T *buf = wp->w_buffer;
|
||||||
if (buf->b_mod_set) {
|
if (buf->b_mod_set) {
|
||||||
|
@ -276,6 +276,24 @@ describe('highlight defaults', function()
|
|||||||
]], {[0] = {bold=true, foreground=Screen.colors.Blue}})
|
]], {[0] = {bold=true, foreground=Screen.colors.Blue}})
|
||||||
end)
|
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()
|
it('Cursor after `:hi clear|syntax reset` #6508', function()
|
||||||
command('highlight clear|syntax reset')
|
command('highlight clear|syntax reset')
|
||||||
eq('guifg=bg guibg=fg', eval([[matchstr(execute('hi Cursor'), '\v(gui|cterm).*$')]]))
|
eq('guifg=bg guibg=fg', eval([[matchstr(execute('hi Cursor'), '\v(gui|cterm).*$')]]))
|
||||||
|
Loading…
Reference in New Issue
Block a user