SetColor()
This commit is contained in:
parent
df602eaf35
commit
cf1083497a
|
@ -1,3 +1,45 @@
|
||||||
|
function! SetColor(name, fg, bg, fg_l, bg_l, attr) abort
|
||||||
|
"{{{
|
||||||
|
let l:is_dark = &background ==? 'dark'
|
||||||
|
if a:fg ==? 'none'
|
||||||
|
let l:gui_fg = l:is_dark ? a:bg : a:bg_l
|
||||||
|
let l:c_fg = l:is_dark ? 'black' : 'white'
|
||||||
|
let l:fg = l:c_fg
|
||||||
|
elseif a:fg ==? ''
|
||||||
|
let l:gui_fg = l:is_dark ? g:l_normal_fg : g:d_normal_fg
|
||||||
|
let l:c_fg = l:is_dark ? 'white' : 'black'
|
||||||
|
let l:fg = l:c_fg
|
||||||
|
else
|
||||||
|
let l:gui_fg = l:is_dark ? a:fg : a:fg_l
|
||||||
|
let l:c_fg = 'white'
|
||||||
|
let l:fg = 'white'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if a:bg ==? ''
|
||||||
|
let l:gui_bg = l:is_dark ? g:d_normal_bg : g:l_normal_bg
|
||||||
|
let l:c_bg = l:is_dark ? 'none' : 'white'
|
||||||
|
let l:bg = l:c_bg
|
||||||
|
else
|
||||||
|
let l:gui_bg = l:is_dark ? a:bg : a:bg_l
|
||||||
|
let l:c_bg = l:is_dark ? 'black' : 'white'
|
||||||
|
let l:bg = l:c_bg
|
||||||
|
endif
|
||||||
|
|
||||||
|
let l:attr_str = a:attr ==# '' ? 'none' : a:attr
|
||||||
|
let l:gui_attr = l:attr_str
|
||||||
|
let l:c_attr = l:attr_str
|
||||||
|
let l:attr = l:attr_str
|
||||||
|
|
||||||
|
let l:guistring = 'guifg=' . l:gui_fg . ' guibg=' . l:gui_bg . ' gui=' . l:gui_attr
|
||||||
|
let l:cstring = ' cterm=' . l:c_attr
|
||||||
|
let l:tstring = ' term=' . l:attr
|
||||||
|
|
||||||
|
let l:histring = 'hi! ' . a:name . ' ' . l:guistring . l:cstring . l:tstring
|
||||||
|
" echom l:histring
|
||||||
|
execute l:histring
|
||||||
|
|
||||||
|
endfunction"}}}
|
||||||
|
|
||||||
" TODO better name
|
" TODO better name
|
||||||
function! GetStatusFrag(condition, colorname, conditionprefix, text) abort
|
function! GetStatusFrag(condition, colorname, conditionprefix, text) abort
|
||||||
let l:frag='%#' . a:colorname . '#'"{{{
|
let l:frag='%#' . a:colorname . '#'"{{{
|
||||||
|
|
Loading…
Reference in New Issue