allow ctrlp to use mode colors other than insert's colors

add global variable g:airline#extensions#ctrlp#color_template which can
hold modes normal|insert|visual|replace as string. ctrlp will use the
given mode's colors if the active theme doesn't define any.
This commit is contained in:
Evgeni Kolev 2013-08-20 23:30:46 +03:00
parent 0068093ea0
commit 7a1d7a01b2
2 changed files with 16 additions and 3 deletions

View File

@ -1,6 +1,8 @@
" MIT license. Copyright (c) 2013 Bailey Ling. " MIT license. Copyright (c) 2013 Bailey Ling.
" vim: ts=2 sts=2 sw=2 fdm=indent " vim: ts=2 sts=2 sw=2 fdm=indent
let s:color_template = get(g:, 'airline#extensions#ctrlp#color_template', 'insert')
function! airline#extensions#ctrlp#generate_color_map(dark, light, white) function! airline#extensions#ctrlp#generate_color_map(dark, light, white)
return { return {
\ 'CtrlPdark' : a:dark, \ 'CtrlPdark' : a:dark,
@ -16,10 +18,11 @@ function! airline#extensions#ctrlp#load_theme()
if exists('g:airline#themes#{g:airline_theme}#palette.ctrlp') if exists('g:airline#themes#{g:airline_theme}#palette.ctrlp')
let theme = g:airline#themes#{g:airline_theme}#palette.ctrlp let theme = g:airline#themes#{g:airline_theme}#palette.ctrlp
else else
let s:color_template = has_key(g:airline#themes#{g:airline_theme}#palette, s:color_template) ? s:color_template : 'insert'
let theme = airline#extensions#ctrlp#generate_color_map( let theme = airline#extensions#ctrlp#generate_color_map(
\ g:airline#themes#{g:airline_theme}#palette.insert['airline_c'], \ g:airline#themes#{g:airline_theme}#palette[s:color_template]['airline_c'],
\ g:airline#themes#{g:airline_theme}#palette.insert['airline_b'], \ g:airline#themes#{g:airline_theme}#palette[s:color_template]['airline_b'],
\ g:airline#themes#{g:airline_theme}#palette.insert['airline_a']) \ g:airline#themes#{g:airline_theme}#palette[s:color_template]['airline_a'])
endif endif
for key in keys(theme) for key in keys(theme)
call airline#highlighter#exec(key, theme[key]) call airline#highlighter#exec(key, theme[key])

View File

@ -227,6 +227,16 @@ vim-signify <https://github.com/mhinz/vim-signify>
* configure whether a message should be displayed. > * configure whether a message should be displayed. >
let g:airline#extensions#whitespace#show_message = 1 let g:airline#extensions#whitespace#show_message = 1
< <
*airline-ctrlp*
ctrlp <https://github.com/kien/ctrlp.vim>
* configure which mode colors should ctrlp window use (takes effect
only if the active airline theme doesn't define ctrlp colors) >
let g:airline#extensions#ctrlp#color_template = 'insert' (default)
let g:airline#extensions#ctrlp#color_template = 'normal'
let g:airline#extensions#ctrlp#color_template = 'visual'
let g:airline#extensions#ctrlp#color_template = 'replace'
<
============================================================================== ==============================================================================
FUNCREFS *airline-funcrefs* FUNCREFS *airline-funcrefs*