introduce fragments variable to store all possible parts.

This commit is contained in:
Bailey Ling 2013-08-27 17:47:31 +00:00
parent d5d87d2cdc
commit 83a1d7e47c
2 changed files with 19 additions and 9 deletions

View File

@ -1,18 +1,18 @@
" MIT License. Copyright (c) 2013 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
function! airline#fragments#get_paste()
function! airline#fragments#paste()
return g:airline_detect_paste && &paste ? ' '.g:airline_symbols.paste : ''
endfunction
function! airline#fragments#get_iminsert()
function! airline#fragments#iminsert()
if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name')
return ' '.g:airline_left_alt_sep.' '.toupper(b:keymap_name)
endif
return ''
endfunction
function! airline#fragments#get_readonly()
function! airline#fragments#readonly()
return &readonly ? g:airline_symbols.readonly : ''
endfunction

View File

@ -37,7 +37,16 @@ call extend(g:airline_symbols, {
\ 'branch': get(g:, 'airline_branch_prefix', get(g:, 'airline_powerline_fonts', 0) ? '' : ''),
\ }, 'keep')
call s:check_defined('g:airline_mode_map', {
call s:check_defined('g:airline_fragments', {})
call extend(g:airline_fragments, {
\ 'mode': '%{get(w:,"airline_current_mode","")}',
\ 'iminsert': '%{airline#fragments#iminsert()}',
\ 'paste': '%{airline#fragments#paste()}',
\ 'readonly': '%{airline#fragments#readonly()}',
\ }, 'keep')
call s:check_defined('g:airline_mode_map', {})
call extend(g:airline_mode_map, {
\ '__' : '------',
\ 'n' : 'NORMAL',
\ 'i' : 'INSERT',
@ -49,19 +58,20 @@ call s:check_defined('g:airline_mode_map', {
\ 's' : 'SELECT',
\ 'S' : 'S-LINE',
\ '' : 'S-BLOCK',
\ })
\ }, 'keep')
call s:check_defined('g:airline_theme_map', {
call s:check_defined('g:airline_theme_map', {})
call extend(g:airline_theme_map, {
\ 'Tomorrow.*': 'tomorrow',
\ 'mo[l|n]okai': 'molokai',
\ 'wombat.*': 'wombat',
\ '.*solarized.*': 'solarized',
\ })
\ }, 'keep')
call s:check_defined('g:airline_section_a', '%{get(w:,"airline_current_mode","")}%{airline#fragments#get_paste()}%{airline#fragments#get_iminsert()}')
call s:check_defined('g:airline_section_a', (g:airline_fragments.mode).(g:airline_fragments.paste).(g:airline_fragments.iminsert))
call s:check_defined('g:airline_section_b', '')
call s:check_defined('g:airline_section_c', '%f%m')
call s:check_defined('g:airline_section_gutter', '%#airline_file#%{airline#fragments#get_readonly()}%=')
call s:check_defined('g:airline_section_gutter', '%#airline_file#'.(g:airline_fragments.readonly).'%=')
call s:check_defined('g:airline_section_x', "%{strlen(&filetype)>0?&filetype:''}")
call s:check_defined('g:airline_section_y', "%{strlen(&fenc)>0?&fenc:''}%{strlen(&ff)>0?'['.&ff.']':''}")
call s:check_defined('g:airline_section_z', '%3p%% %{g:airline_symbols.linenr} %3l:%3c')