From 13f52ab26f4ff8436a4255dad109b8f0868e4ddf Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Fri, 4 Sep 2015 19:37:42 +0300 Subject: [PATCH] guisp_fallback == 'bg' should invert highlight actually --- colors/gruvbox.vim | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index 8f95f497..025461c9 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -46,7 +46,7 @@ if !exists('g:gruvbox_inverse') endif if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 - let g:gruvbox_guisp_fallback='fg' + let g:gruvbox_guisp_fallback='NONE' endif if !exists('g:gruvbox_improved_strings') @@ -340,6 +340,7 @@ endif function! s:HL(group, fg, ...) " Arguments: group, guifg, guibg, gui, guisp + " foreground if type(a:fg) == 3 let fg = a:fg elseif type(a:fg) == 1 && strlen(a:fg) @@ -348,6 +349,7 @@ function! s:HL(group, fg, ...) let fg = ['NONE', 'NONE'] endif + " background if a:0 >= 1 && type(a:1) == 3 let bg = a:1 elseif a:0 >= 1 && type(a:1) == 1 && strlen(a:1) @@ -356,17 +358,26 @@ function! s:HL(group, fg, ...) let bg = ['NONE', 'NONE'] endif + " emphasis if a:0 >= 2 && strlen(a:2) let emstr = a:2[:-2] else let emstr = 'NONE' endif - if a:0 >= 3 - if g:gruvbox_guisp_fallback == 'fg' && type(a:3) == 3 + " special fallback + if a:0 >= 3 && type(a:3) == 3 + if g:gruvbox_guisp_fallback != 'NONE' let fg = a:3 - elseif g:gruvbox_guisp_fallback == 'bg' && type(a:3) == 3 - let bg = a:3 + endif + + if g:gruvbox_guisp_fallback == 'bg' + " bg fallback mode should invert higlighting + if emstr == 'NONE' + let emstr = 'inverse' + else + let emstr .= ',inverse' + endif endif endif @@ -376,6 +387,7 @@ function! s:HL(group, fg, ...) \ 'gui=' . emstr, 'cterm=' . emstr \ ] + " special if a:0 >= 3 if type(a:3) == 3 let specl = a:3[0]