diff options
Diffstat (limited to 'colors/base16-pico.vim')
-rw-r--r-- | colors/base16-pico.vim | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/colors/base16-pico.vim b/colors/base16-pico.vim index c6d7eb9..3bd60e9 100644 --- a/colors/base16-pico.vim +++ b/colors/base16-pico.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction |