" Fruitpunch - A fruity airline theme! " vim: tw=80 et sw=2 ts=2 " Colors {{{ let s:dark_gray = ['#303030', 236] let s:med_gray_hi = ['#444444', 238] let s:med_gray_lo = ['#3a3a3a', 237] let s:light_gray = ['#b2b2b2', 249] let s:pretty_pink = ['#f29db4', 217] let s:banana_smoothie = ['#fce78d', 222] let s:faded_red = ['#f97070', 203] let s:icy_sky = ['#79e5e0', 116] let s:orangarine = ['#e8a15a', 179] "}}} " Init {{{ " Translate color defs to airline format fun! s:gen_def(fg, bg) return [a:fg[0], a:bg[0], a:fg[1], a:bg[1]] endfun let s:bar_main = s:gen_def(s:light_gray, s:med_gray_lo) + [''] let g:airline#themes#fruit_punch#palette = {} "}}} " Normal mode {{{ let s:airline_a_normal = s:gen_def(s:dark_gray, s:pretty_pink) let s:airline_c_normal = s:gen_def(s:pretty_pink, s:med_gray_hi) let g:airline#themes#fruit_punch#palette.normal = \ airline#themes#generate_color_map(s:airline_a_normal \ , s:bar_main, s:airline_c_normal) "}}} " Insert mode {{{ let s:airline_a_insert = s:gen_def(s:dark_gray, s:banana_smoothie) let s:airline_c_insert = s:gen_def(s:banana_smoothie, s:med_gray_hi) let g:airline#themes#fruit_punch#palette.insert = \ airline#themes#generate_color_map(s:airline_a_insert \ , s:bar_main, s:airline_c_insert) "}}} " Visual mode {{{ let s:airline_a_visual = s:gen_def(s:dark_gray, s:icy_sky) let s:airline_c_visual = s:gen_def(s:icy_sky, s:med_gray_hi) let g:airline#themes#fruit_punch#palette.visual = \ airline#themes#generate_color_map(s:airline_a_visual \ , s:bar_main, s:airline_c_visual) "}}} " Replace mode {{{ let s:airline_a_replace = s:gen_def(s:dark_gray, s:faded_red) let s:airline_c_replace = s:gen_def(s:faded_red, s:med_gray_hi) let g:airline#themes#fruit_punch#palette.replace = \ airline#themes#generate_color_map(s:airline_a_replace \ , s:bar_main, s:airline_c_replace) "}}} " Inactive color {{{ let s:airline_inactive = s:gen_def(s:light_gray, s:med_gray_hi) let g:airline#themes#fruit_punch#palette.inactive = \ airline#themes#generate_color_map(s:airline_inactive \ , s:airline_inactive, s:airline_inactive) "}}} " Global colors {{{ let s:tmp = {'normal_modified': {}, 'insert_modified': {} \, 'visual_modified': {}, 'replace_modified': {}} for mode in keys(s:tmp) let s:tmp[mode]['airline_c'] = s:airline_c_insert endfor call extend(g:airline#themes#fruit_punch#palette, s:tmp) let s:warning = s:gen_def(s:dark_gray, s:orangarine) for mode in keys(g:airline#themes#fruit_punch#palette) if mode == 'accents' continue endif let g:airline#themes#fruit_punch#palette[mode]['airline_warning'] = s:warning endfor "}}}