remove redundancy from the map
This commit is contained in:
parent
30adb973fc
commit
6e515a4627
|
@ -4,15 +4,6 @@
|
|||
let s:is_win32term = (has('win32') || has('win64')) && !has('gui_running')
|
||||
let s:sections = ['a','b','c','gutter','x','y','z','warning']
|
||||
|
||||
let s:airline_highlight_map = {
|
||||
\ 'mode' : 'Al2',
|
||||
\ 'mode_separator' : 'Al3',
|
||||
\ 'info' : 'Al4',
|
||||
\ 'info_separator' : 'Al5',
|
||||
\ 'statusline' : 'Al6',
|
||||
\ 'file' : 'Al7',
|
||||
\ }
|
||||
|
||||
function! airline#exec_highlight(group, colors)
|
||||
let colors = a:colors
|
||||
if s:is_win32term
|
||||
|
@ -52,7 +43,7 @@ function! airline#highlight(modes)
|
|||
for key in keys(g:airline#themes#{g:airline_theme}#{mode})
|
||||
let colors = g:airline#themes#{g:airline_theme}#{mode}[key]
|
||||
let suffix = a:modes[0] == 'inactive' ? '_inactive' : ''
|
||||
call airline#exec_highlight(s:airline_highlight_map[key].suffix, colors)
|
||||
call airline#exec_highlight(key.suffix, colors)
|
||||
endfor
|
||||
endif
|
||||
endfor
|
||||
|
@ -71,17 +62,17 @@ function! airline#get_statusline(winnr, active)
|
|||
let builder = airline#builder#new(a:active)
|
||||
|
||||
if airline#util#getwinvar(a:winnr, 'airline_render_left', a:active || (!a:active && !g:airline_inactive_collapse))
|
||||
call builder.add_section('Al2', s:get_section(a:winnr, 'a').'%{g:airline_detect_paste && &paste ? g:airline_paste_symbol." " : ""}')
|
||||
call builder.add_section('Al4', s:get_section(a:winnr, 'b'))
|
||||
call builder.add_section('Al6', s:get_section(a:winnr, 'c').' %#Al7#%{&ro ? g:airline_readonly_symbol : ""}')
|
||||
call builder.add_section('a', s:get_section(a:winnr, 'a').'%{g:airline_detect_paste && &paste ? g:airline_paste_symbol." " : ""}')
|
||||
call builder.add_section('b', s:get_section(a:winnr, 'b'))
|
||||
call builder.add_section('c', s:get_section(a:winnr, 'c').' %#airline_file#%{&ro ? g:airline_readonly_symbol : ""}')
|
||||
else
|
||||
call builder.add_section('Al6', '%f%m')
|
||||
call builder.add_section('c', '%f%m')
|
||||
endif
|
||||
call builder.split(s:get_section(a:winnr, 'gutter', '', ''))
|
||||
if airline#util#getwinvar(a:winnr, 'airline_render_right', 1)
|
||||
call builder.add_section('Al6', s:get_section(a:winnr, 'x'))
|
||||
call builder.add_section('Al4', s:get_section(a:winnr, 'y'))
|
||||
call builder.add_section('Al2', s:get_section(a:winnr, 'z'))
|
||||
call builder.add_section('c', s:get_section(a:winnr, 'x'))
|
||||
call builder.add_section('b', s:get_section(a:winnr, 'y'))
|
||||
call builder.add_section('a', s:get_section(a:winnr, 'z'))
|
||||
if a:active
|
||||
call builder.add_raw('%(')
|
||||
call builder.add_section('warningmsg', s:get_section(a:winnr, 'warning', '', ''))
|
||||
|
|
|
@ -11,7 +11,7 @@ function! airline#builder#new(active)
|
|||
endfunction
|
||||
|
||||
function! builder.add_section(group, contents)
|
||||
call add(self._sections, [a:group, a:contents])
|
||||
call add(self._sections, ['airline_'.a:group, a:contents])
|
||||
endfunction
|
||||
|
||||
function! builder.add_raw(text)
|
||||
|
|
|
@ -17,9 +17,9 @@ function! airline#extensions#ctrlp#load_theme()
|
|||
let theme = g:airline#themes#{g:airline_theme}#ctrlp
|
||||
else
|
||||
let theme = airline#extensions#ctrlp#generate_color_map(
|
||||
\ g:airline#themes#{g:airline_theme}#insert['statusline'],
|
||||
\ g:airline#themes#{g:airline_theme}#insert['info'],
|
||||
\ g:airline#themes#{g:airline_theme}#insert['mode'])
|
||||
\ g:airline#themes#{g:airline_theme}#insert['airline_c'],
|
||||
\ g:airline#themes#{g:airline_theme}#insert['airline_b'],
|
||||
\ g:airline#themes#{g:airline_theme}#insert['airline_a'])
|
||||
endif
|
||||
for key in keys(theme)
|
||||
call airline#exec_highlight(key, theme[key])
|
||||
|
|
|
@ -8,14 +8,12 @@ function! airline#themes#generate_color_map(section1, section2, section3, file)
|
|||
if file[1] == '' | let file[1] = a:section3[1] | endif
|
||||
if file[3] == '' | let file[3] = a:section3[3] | endif
|
||||
|
||||
" guifg guibg ctermfg ctermbg gui/term
|
||||
" guifg guibg ctermfg ctermbg gui/term
|
||||
return {
|
||||
\ 'mode': [ a:section1[0] , a:section1[1] , a:section1[2] , a:section1[3] , get(a:section1, 4, 'bold') ] ,
|
||||
\ 'mode_separator': [ a:section1[1] , a:section2[1] , a:section1[3] , a:section2[3] , '' ] ,
|
||||
\ 'info': [ a:section2[0] , a:section2[1] , a:section2[2] , a:section2[3] , get(a:section2, 4, '' ) ] ,
|
||||
\ 'info_separator': [ a:section2[1] , a:section3[1] , a:section2[3] , a:section3[3] , '' ] ,
|
||||
\ 'statusline': [ a:section3[0] , a:section3[1] , a:section3[2] , a:section3[3] , get(a:section3 , 4 , '' ) ] ,
|
||||
\ 'file': [ file[0] , file[1] , file[2] , file[3] , get(file , 4 , '' ) ] ,
|
||||
\ 'airline_a': [ a:section1[0] , a:section1[1] , a:section1[2] , a:section1[3] , get(a:section1, 4, 'bold') ] ,
|
||||
\ 'airline_b': [ a:section2[0] , a:section2[1] , a:section2[2] , a:section2[3] , get(a:section2, 4, '' ) ] ,
|
||||
\ 'airline_c': [ a:section3[0] , a:section3[1] , a:section3[2] , a:section3[3] , get(a:section3, 4, '' ) ] ,
|
||||
\ 'airline_file': [ file[0] , file[1] , file[2] , file[3] , get(file , 4, '' ) ] ,
|
||||
\ }
|
||||
endfunction
|
||||
|
||||
|
|
Loading…
Reference in New Issue