mirror of
https://github.com/vim-airline/vim-airline-themes.git
synced 2025-02-24 06:20:55 +08:00
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:is_win32term = (has('win32') || has('win64')) && !has('gui_running')
|
||||||
let s:sections = ['a','b','c','gutter','x','y','z','warning']
|
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)
|
function! airline#exec_highlight(group, colors)
|
||||||
let colors = a:colors
|
let colors = a:colors
|
||||||
if s:is_win32term
|
if s:is_win32term
|
||||||
@ -52,7 +43,7 @@ function! airline#highlight(modes)
|
|||||||
for key in keys(g:airline#themes#{g:airline_theme}#{mode})
|
for key in keys(g:airline#themes#{g:airline_theme}#{mode})
|
||||||
let colors = g:airline#themes#{g:airline_theme}#{mode}[key]
|
let colors = g:airline#themes#{g:airline_theme}#{mode}[key]
|
||||||
let suffix = a:modes[0] == 'inactive' ? '_inactive' : ''
|
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
|
endfor
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
@ -71,17 +62,17 @@ function! airline#get_statusline(winnr, active)
|
|||||||
let builder = airline#builder#new(a: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))
|
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('a', 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('b', 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('c', s:get_section(a:winnr, 'c').' %#airline_file#%{&ro ? g:airline_readonly_symbol : ""}')
|
||||||
else
|
else
|
||||||
call builder.add_section('Al6', '%f%m')
|
call builder.add_section('c', '%f%m')
|
||||||
endif
|
endif
|
||||||
call builder.split(s:get_section(a:winnr, 'gutter', '', ''))
|
call builder.split(s:get_section(a:winnr, 'gutter', '', ''))
|
||||||
if airline#util#getwinvar(a:winnr, 'airline_render_right', 1)
|
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('c', s:get_section(a:winnr, 'x'))
|
||||||
call builder.add_section('Al4', s:get_section(a:winnr, 'y'))
|
call builder.add_section('b', s:get_section(a:winnr, 'y'))
|
||||||
call builder.add_section('Al2', s:get_section(a:winnr, 'z'))
|
call builder.add_section('a', s:get_section(a:winnr, 'z'))
|
||||||
if a:active
|
if a:active
|
||||||
call builder.add_raw('%(')
|
call builder.add_raw('%(')
|
||||||
call builder.add_section('warningmsg', s:get_section(a:winnr, 'warning', '', ''))
|
call builder.add_section('warningmsg', s:get_section(a:winnr, 'warning', '', ''))
|
||||||
|
@ -11,7 +11,7 @@ function! airline#builder#new(active)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! builder.add_section(group, contents)
|
function! builder.add_section(group, contents)
|
||||||
call add(self._sections, [a:group, a:contents])
|
call add(self._sections, ['airline_'.a:group, a:contents])
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! builder.add_raw(text)
|
function! builder.add_raw(text)
|
||||||
|
@ -17,9 +17,9 @@ function! airline#extensions#ctrlp#load_theme()
|
|||||||
let theme = g:airline#themes#{g:airline_theme}#ctrlp
|
let theme = g:airline#themes#{g:airline_theme}#ctrlp
|
||||||
else
|
else
|
||||||
let theme = airline#extensions#ctrlp#generate_color_map(
|
let theme = airline#extensions#ctrlp#generate_color_map(
|
||||||
\ g:airline#themes#{g:airline_theme}#insert['statusline'],
|
\ g:airline#themes#{g:airline_theme}#insert['airline_c'],
|
||||||
\ g:airline#themes#{g:airline_theme}#insert['info'],
|
\ g:airline#themes#{g:airline_theme}#insert['airline_b'],
|
||||||
\ g:airline#themes#{g:airline_theme}#insert['mode'])
|
\ g:airline#themes#{g:airline_theme}#insert['airline_a'])
|
||||||
endif
|
endif
|
||||||
for key in keys(theme)
|
for key in keys(theme)
|
||||||
call airline#exec_highlight(key, theme[key])
|
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[1] == '' | let file[1] = a:section3[1] | endif
|
||||||
if file[3] == '' | let file[3] = a:section3[3] | endif
|
if file[3] == '' | let file[3] = a:section3[3] | endif
|
||||||
|
|
||||||
" guifg guibg ctermfg ctermbg gui/term
|
" guifg guibg ctermfg ctermbg gui/term
|
||||||
return {
|
return {
|
||||||
\ 'mode': [ a:section1[0] , a:section1[1] , a:section1[2] , a:section1[3] , get(a:section1, 4, 'bold') ] ,
|
\ 'airline_a': [ 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] , '' ] ,
|
\ 'airline_b': [ a:section2[0] , a:section2[1] , a:section2[2] , a:section2[3] , get(a:section2, 4, '' ) ] ,
|
||||||
\ 'info': [ 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, '' ) ] ,
|
||||||
\ 'info_separator': [ a:section2[1] , a:section3[1] , a:section2[3] , a:section3[3] , '' ] ,
|
\ 'airline_file': [ file[0] , file[1] , file[2] , file[3] , get(file , 4, '' ) ] ,
|
||||||
\ '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 , '' ) ] ,
|
|
||||||
\ }
|
\ }
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user