guisp_fallback == 'bg' should invert highlight actually

This commit is contained in:
Pavel Pertsev
2015-09-04 19:37:42 +03:00
parent 80b22a4d41
commit 13f52ab26f

View File

@@ -46,7 +46,7 @@ if !exists('g:gruvbox_inverse')
endif endif
if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 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 endif
if !exists('g:gruvbox_improved_strings') if !exists('g:gruvbox_improved_strings')
@@ -340,6 +340,7 @@ endif
function! s:HL(group, fg, ...) function! s:HL(group, fg, ...)
" Arguments: group, guifg, guibg, gui, guisp " Arguments: group, guifg, guibg, gui, guisp
" foreground
if type(a:fg) == 3 if type(a:fg) == 3
let fg = a:fg let fg = a:fg
elseif type(a:fg) == 1 && strlen(a:fg) elseif type(a:fg) == 1 && strlen(a:fg)
@@ -348,6 +349,7 @@ function! s:HL(group, fg, ...)
let fg = ['NONE', 'NONE'] let fg = ['NONE', 'NONE']
endif endif
" background
if a:0 >= 1 && type(a:1) == 3 if a:0 >= 1 && type(a:1) == 3
let bg = a:1 let bg = a:1
elseif a:0 >= 1 && type(a:1) == 1 && strlen(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'] let bg = ['NONE', 'NONE']
endif endif
" emphasis
if a:0 >= 2 && strlen(a:2) if a:0 >= 2 && strlen(a:2)
let emstr = a:2[:-2] let emstr = a:2[:-2]
else else
let emstr = 'NONE' let emstr = 'NONE'
endif endif
if a:0 >= 3 " special fallback
if g:gruvbox_guisp_fallback == 'fg' && type(a:3) == 3 if a:0 >= 3 && type(a:3) == 3
if g:gruvbox_guisp_fallback != 'NONE'
let fg = a:3 let fg = a:3
elseif g:gruvbox_guisp_fallback == 'bg' && type(a:3) == 3 endif
let bg = a:3
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
endif endif
@@ -376,6 +387,7 @@ function! s:HL(group, fg, ...)
\ 'gui=' . emstr, 'cterm=' . emstr \ 'gui=' . emstr, 'cterm=' . emstr
\ ] \ ]
" special
if a:0 >= 3 if a:0 >= 3
if type(a:3) == 3 if type(a:3) == 3
let specl = a:3[0] let specl = a:3[0]