diff options
| author | Andy K. Massimino <f8a663@normed.space> | 2021-03-04 00:58:07 -0500 |
|---|---|---|
| committer | Andy K. Massimino <f8a663@normed.space> | 2021-03-05 01:45:54 -0500 |
| commit | 8601e8b0d628037d253b76de8aa524c6174f4af9 (patch) | |
| tree | 2f237d95e74c3bccda9df1d4adf8f1c53365d32e /src/nvim/testdir | |
| parent | 4e6b31d978e95be631705dbfe994749c44520d47 (diff) | |
| download | rneovim-8601e8b0d628037d253b76de8aa524c6174f4af9.tar.gz rneovim-8601e8b0d628037d253b76de8aa524c6174f4af9.tar.bz2 rneovim-8601e8b0d628037d253b76de8aa524c6174f4af9.zip | |
vim-patch:8.2.1703: ":highlight clear" does not restore default link
Problem: ":highlight clear" does not restore default link.
Solution: Remember the default link and restore it. (Antony Scriven,
closes vim/vim#6970, closes vim/vim#4405)
https://github.com/vim/vim/commit/213da551dec465e193619684b260bf9d5a8d6afc
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_highlight.vim | 52 |
1 files changed, 43 insertions, 9 deletions
diff --git a/src/nvim/testdir/test_highlight.vim b/src/nvim/testdir/test_highlight.vim index 631d19172f..e7ee42ecd6 100644 --- a/src/nvim/testdir/test_highlight.vim +++ b/src/nvim/testdir/test_highlight.vim @@ -623,10 +623,47 @@ func Test_xxlast_highlight_RGB_color() hi clear endfunc -" Test default highlighting is restored -func Test_highlight_restore_defaults() - hi! link TestLink Identifier - hi! TestHi ctermbg=red +func Test_highlight_clear_restores_links() + let aaa_id = hlID('aaa') + call assert_equal(aaa_id, 0) + + " create default link aaa --> bbb + hi def link aaa bbb + let id_aaa = hlID('aaa') + let hl_aaa_bbb = HighlightArgs('aaa') + + " try to redefine default link aaa --> ccc; check aaa --> bbb + hi def link aaa ccc + call assert_equal(HighlightArgs('aaa'), hl_aaa_bbb) + + " clear aaa; check aaa --> bbb + hi clear aaa + call assert_equal(HighlightArgs('aaa'), hl_aaa_bbb) + + " link aaa --> ccc; clear aaa; check aaa --> bbb + hi link aaa ccc + let id_ccc = hlID('ccc') + call assert_equal(synIDtrans(id_aaa), id_ccc) + hi clear aaa + call assert_equal(HighlightArgs('aaa'), hl_aaa_bbb) + + " forcibly set default link aaa --> ddd + hi! def link aaa ddd + let id_ddd = hlID('ddd') + let hl_aaa_ddd = HighlightArgs('aaa') + call assert_equal(synIDtrans(id_aaa), id_ddd) + + " link aaa --> eee; clear aaa; check aaa --> ddd + hi link aaa eee + let eee_id = hlID('eee') + call assert_equal(synIDtrans(id_aaa), eee_id) + hi clear aaa + call assert_equal(HighlightArgs('aaa'), hl_aaa_ddd) +endfunc + +func Test_highlight_default_colorscheme_restores_links() + hi link TestLink Identifier + hi TestHi ctermbg=red let hlTestLinkPre = HighlightArgs('TestLink') let hlTestHiPre = HighlightArgs('TestHi') @@ -637,19 +674,16 @@ func Test_highlight_restore_defaults() syntax reset endif let g:colors_name = 'test' - hi! link TestLink ErrorMsg - hi! TestHi ctermbg=green + hi link TestLink ErrorMsg + hi TestHi ctermbg=green " Restore default highlighting colorscheme default - syntax on " 'default' should work no matter if highlight group was cleared hi def link TestLink Identifier hi def TestHi ctermbg=red - let hlTestLinkPost = HighlightArgs('TestLink') let hlTestHiPost = HighlightArgs('TestHi') - call assert_equal(hlTestLinkPre, hlTestLinkPost) call assert_equal(hlTestHiPre, hlTestHiPost) hi clear |