From eb3a70bbf2d233bee77864292c6b73345a9a6e00 Mon Sep 17 00:00:00 2001 From: paulbdavis Date: Wed, 4 Sep 2013 20:15:57 -0400 Subject: [PATCH] added zenburn theme --- autoload/airline/themes/zenburn.vim | 51 +++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 autoload/airline/themes/zenburn.vim diff --git a/autoload/airline/themes/zenburn.vim b/autoload/airline/themes/zenburn.vim new file mode 100644 index 00000000..69c50feb --- /dev/null +++ b/autoload/airline/themes/zenburn.vim @@ -0,0 +1,51 @@ +let g:airline#themes#zenburn#palette = {} + +function! s:generate() + " This theme is an example of how to use helper functions to extract highlight + " values from the corresponding colorscheme. It was written in a hurry, so it + " is very minimalistic. If you are a zenburn user and want to make updates, + " please send pull requests. + + " Here are examples where the entire highlight group is copied and an airline + " compatible color array is generated. + let s:N1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['Folded', 'fg'], 'bold') + let s:N2 = airline#themes#get_highlight('Folded') + let s:N3 = airline#themes#get_highlight('NonText') + let s:file = airline#themes#get_highlight('Constant') + + let g:airline#themes#zenburn#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3, s:file) + let s:Nmod = airline#themes#get_highlight('Comment') + let g:airline#themes#zenburn#palette.normal_modified = { + \ 'airline_c': s:Nmod + \ } + + let s:I1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['String', 'fg'], 'bold') + let s:I2 = airline#themes#get_highlight2(['String', 'fg'], ['Folded', 'bg']) + let s:I3 = s:N3 + let g:airline#themes#zenburn#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3, s:file) + let g:airline#themes#zenburn#palette.insert_modified = g:airline#themes#zenburn#palette.normal_modified + + let s:R1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['Comment', 'fg'], 'bold') + let s:R2 = airline#themes#get_highlight2(['Comment', 'fg'], ['Folded', 'bg']) + let s:R3 = s:N3 + let g:airline#themes#zenburn#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3, s:file) + let g:airline#themes#zenburn#palette.replace_modified = g:airline#themes#zenburn#palette.normal_modified + + " Sometimes you want to mix and match colors from different groups, you can do + " that with this method. + let s:V1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['Identifier', 'fg'], 'bold') + let s:V2 = airline#themes#get_highlight2(['Identifier', 'fg'], ['Folded', 'bg']) + let s:V3 = s:N3 + let g:airline#themes#zenburn#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3, s:file) + let g:airline#themes#zenburn#palette.visual_modified = g:airline#themes#zenburn#palette.normal_modified + + " And of course, you can always do it manually as well. + let s:IA = airline#themes#get_highlight('NonText') + let g:airline#themes#zenburn#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA, s:file) +endfunction + +call s:generate() +augroup airline_zenburn + autocmd! + autocmd ColorScheme * call generate() +augroup END