Add support for 24-bit colors with +termtruecolor flag
This commit is contained in:
parent
ca925efdbf
commit
ac58bc9954
@ -77,7 +77,7 @@ function! s:should_change_group(group1, group2)
|
|||||||
endif
|
endif
|
||||||
let color1 = airline#highlighter#get_highlight(a:group1)
|
let color1 = airline#highlighter#get_highlight(a:group1)
|
||||||
let color2 = airline#highlighter#get_highlight(a:group2)
|
let color2 = airline#highlighter#get_highlight(a:group2)
|
||||||
if has('gui_running')
|
if has('gui_running') || (has("termtruecolor") && &guicolors == 1)
|
||||||
return color1[1] != color2[1] || color1[0] != color2[0]
|
return color1[1] != color2[1] || color1[0] != color2[0]
|
||||||
else
|
else
|
||||||
return color1[3] != color2[3] || color1[2] != color2[2]
|
return color1[3] != color2[3] || color1[2] != color2[2]
|
||||||
|
@ -16,13 +16,13 @@ endfunction
|
|||||||
|
|
||||||
function! s:get_syn(group, what)
|
function! s:get_syn(group, what)
|
||||||
" need to pass in mode, known to break on 7.3.547
|
" need to pass in mode, known to break on 7.3.547
|
||||||
let mode = has('gui_running') ? 'gui' : 'cterm'
|
let mode = has('gui_running') || (has("termtruecolor") && &guicolors == 1) ? 'gui' : 'cterm'
|
||||||
let color = synIDattr(synIDtrans(hlID(a:group)), a:what, mode)
|
let color = synIDattr(synIDtrans(hlID(a:group)), a:what, mode)
|
||||||
if empty(color) || color == -1
|
if empty(color) || color == -1
|
||||||
let color = synIDattr(synIDtrans(hlID('Normal')), a:what, mode)
|
let color = synIDattr(synIDtrans(hlID('Normal')), a:what, mode)
|
||||||
endif
|
endif
|
||||||
if empty(color) || color == -1
|
if empty(color) || color == -1
|
||||||
if has('gui_running')
|
if has('gui_running') || (has("termtruecolor") && &guicolors == 1)
|
||||||
let color = a:what ==# 'fg' ? '#000000' : '#FFFFFF'
|
let color = a:what ==# 'fg' ? '#000000' : '#FFFFFF'
|
||||||
else
|
else
|
||||||
let color = a:what ==# 'fg' ? 0 : 1
|
let color = a:what ==# 'fg' ? 0 : 1
|
||||||
@ -34,7 +34,7 @@ endfunction
|
|||||||
function! s:get_array(fg, bg, opts)
|
function! s:get_array(fg, bg, opts)
|
||||||
let fg = a:fg
|
let fg = a:fg
|
||||||
let bg = a:bg
|
let bg = a:bg
|
||||||
return has('gui_running')
|
return has('gui_running') || (has("termtruecolor") && &guicolors == 1)
|
||||||
\ ? [ fg, bg, '', '', join(a:opts, ',') ]
|
\ ? [ fg, bg, '', '', join(a:opts, ',') ]
|
||||||
\ : [ '', '', fg, bg, join(a:opts, ',') ]
|
\ : [ '', '', fg, bg, join(a:opts, ',') ]
|
||||||
endfunction
|
endfunction
|
||||||
@ -42,7 +42,7 @@ endfunction
|
|||||||
function! airline#highlighter#get_highlight(group, ...)
|
function! airline#highlighter#get_highlight(group, ...)
|
||||||
let fg = s:get_syn(a:group, 'fg')
|
let fg = s:get_syn(a:group, 'fg')
|
||||||
let bg = s:get_syn(a:group, 'bg')
|
let bg = s:get_syn(a:group, 'bg')
|
||||||
let reverse = has('gui_running')
|
let reverse = has('gui_running') || (has("termtruecolor") && &guicolors == 1)
|
||||||
\ ? synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'gui')
|
\ ? synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'gui')
|
||||||
\ : synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'cterm')
|
\ : synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'cterm')
|
||||||
\|| synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'term')
|
\|| synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'term')
|
||||||
|
Loading…
Reference in New Issue
Block a user