aboutsummaryrefslogtreecommitdiffstats
path: root/plugin/nvim-treesitter.vim
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/nvim-treesitter.vim')
-rw-r--r--plugin/nvim-treesitter.vim15
1 files changed, 8 insertions, 7 deletions
diff --git a/plugin/nvim-treesitter.vim b/plugin/nvim-treesitter.vim
index 38202be35..b32d1726e 100644
--- a/plugin/nvim-treesitter.vim
+++ b/plugin/nvim-treesitter.vim
@@ -11,17 +11,18 @@ let g:loaded_nvim_treesitter = 1
lua require'nvim-treesitter'.setup()
-function s:has_attr(attr)
- return strlen(synIDattr(hlID('Normal'), a:attr)) > 0
+function s:has_attr(attr, mode)
+ let norm_color = synIDattr(hlID('Normal'), a:attr, a:mode)
+ return strlen(norm_color) > 0
endfunction
" if the ctermfg or guifg is not known by nvim then using the
" fg or foreground highlighting value will cause an E419 error
-if s:has_attr('fg')
- highlight default TSNone term=NONE cterm=NONE gui=NONE guifg=foreground ctermfg=fg
-else
- highlight default TSNone term=NONE cterm=NONE gui=NONE
-endif
+" so we check to see if either highlight has been set if not default to NONE
+let cterm_normal = s:has_attr('fg', 'cterm') ? 'fg' : 'NONE'
+let gui_normal = s:has_attr('fg', 'gui') ? 'foreground' : 'NONE'
+
+execute 'highlight default TSNone term=NONE cterm=NONE gui=NONE guifg='.gui_normal.' ctermfg='.cterm_normal
highlight default link TSError TSNone