convert mode/paste/iminsert parts to function names.
This commit is contained in:
parent
8beb275534
commit
e10b690cdf
@ -1,13 +1,31 @@
|
|||||||
" MIT License. Copyright (c) 2013 Bailey Ling.
|
" MIT License. Copyright (c) 2013 Bailey Ling.
|
||||||
" vim: et ts=2 sts=2 sw=2
|
" vim: et ts=2 sts=2 sw=2
|
||||||
|
|
||||||
|
function! airline#parts#append(name)
|
||||||
|
let val = function(a:name)()
|
||||||
|
return empty(val) ? '' : ' '.g:airline_left_alt_sep.' '.val
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! airline#parts#prepend(name)
|
||||||
|
let val = function(a:name)()
|
||||||
|
return empty(val) ? '' : val.' '.g:airline_right_alt_sep
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! airline#parts#empty()
|
||||||
|
return ''
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! airline#parts#mode()
|
||||||
|
return get(w:, 'airline_current_mode', '')
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! airline#parts#paste()
|
function! airline#parts#paste()
|
||||||
return g:airline_detect_paste && &paste ? ' '.g:airline_symbols.paste : ''
|
return g:airline_detect_paste && &paste ? g:airline_symbols.paste : ''
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! airline#parts#iminsert()
|
function! airline#parts#iminsert()
|
||||||
if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name')
|
if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name')
|
||||||
return ' '.g:airline_left_alt_sep.' '.toupper(b:keymap_name)
|
return toupper(b:keymap_name)
|
||||||
endif
|
endif
|
||||||
return ''
|
return ''
|
||||||
endfunction
|
endfunction
|
||||||
|
@ -1,6 +1,24 @@
|
|||||||
" MIT License. Copyright (c) 2013 Bailey Ling.
|
" MIT License. Copyright (c) 2013 Bailey Ling.
|
||||||
" vim: et ts=2 sts=2 sw=2
|
" vim: et ts=2 sts=2 sw=2
|
||||||
|
|
||||||
|
function! s:get_val(part)
|
||||||
|
let val = g:airline_parts[a:part]
|
||||||
|
if match(val, '%') > -1
|
||||||
|
return val
|
||||||
|
else
|
||||||
|
return '%{function("'.val.'")()}'
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! airline#util#define_section(key, parts)
|
||||||
|
if !exists('g:airline_section_{a:key}') && len(a:parts) > 0
|
||||||
|
let g:airline_section_{a:key} = s:get_val(a:parts[0])
|
||||||
|
for i in range(1, len(a:parts) - 1)
|
||||||
|
let g:airline_section_{a:key} .= s:get_val(a:parts[i])
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
if v:version >= 704
|
if v:version >= 704
|
||||||
function! airline#util#getwinvar(winnr, key, def)
|
function! airline#util#getwinvar(winnr, key, def)
|
||||||
return getwinvar(a:winnr, a:key, a:def)
|
return getwinvar(a:winnr, a:key, a:def)
|
||||||
|
@ -34,7 +34,7 @@ function! s:init()
|
|||||||
|
|
||||||
call s:check_defined('g:airline_symbols', {})
|
call s:check_defined('g:airline_symbols', {})
|
||||||
call extend(g:airline_symbols, {
|
call extend(g:airline_symbols, {
|
||||||
\ 'paste': get(g:, 'airline_paste_symbol', g:airline_left_alt_sep.' PASTE'),
|
\ 'paste': get(g:, 'airline_paste_symbol', 'PASTE'),
|
||||||
\ 'readonly': get(g:, 'airline_readonly_symbol', get(g:, 'airline_powerline_fonts', 0) ? '' : 'RO'),
|
\ 'readonly': get(g:, 'airline_readonly_symbol', get(g:, 'airline_powerline_fonts', 0) ? '' : 'RO'),
|
||||||
\ 'whitespace': get(g:, 'airline_powerline_fonts', 0) ? '✹' : '!',
|
\ 'whitespace': get(g:, 'airline_powerline_fonts', 0) ? '✹' : '!',
|
||||||
\ 'linenr': get(g:, 'airline_linecolumn_prefix', get(g:, 'airline_powerline_fonts', 0) ? '' : ':' ),
|
\ 'linenr': get(g:, 'airline_linecolumn_prefix', get(g:, 'airline_powerline_fonts', 0) ? '' : ':' ),
|
||||||
@ -43,17 +43,17 @@ function! s:init()
|
|||||||
|
|
||||||
call s:check_defined('g:airline_parts', {})
|
call s:check_defined('g:airline_parts', {})
|
||||||
call extend(g:airline_parts, {
|
call extend(g:airline_parts, {
|
||||||
\ 'mode': '%{get(w:,"airline_current_mode","")}',
|
\ 'mode': 'airline#parts#mode',
|
||||||
\ 'iminsert': '%{airline#parts#iminsert()}',
|
\ 'iminsert': 'airline#parts#iminsert',
|
||||||
\ 'paste': '%{airline#parts#paste()}',
|
\ 'paste': 'airline#parts#paste',
|
||||||
\ 'readonly': '%#airline_file#%{airline#parts#readonly()}',
|
\ 'readonly': '%#airline_file#%{airline#parts#readonly()}',
|
||||||
\ 'ffenc': '%{printf("%s%s",&fenc,strlen(&ff)>0?"[".&ff."]":"")}',
|
\ 'ffenc': '%{printf("%s%s",&fenc,strlen(&ff)>0?"[".&ff."]":"")}',
|
||||||
\ 'file': '%f%m',
|
\ 'file': '%f%m',
|
||||||
\ 'hunks': '',
|
\ 'hunks': 'airline#parts#empty',
|
||||||
\ 'branch': '',
|
\ 'branch': 'airline#parts#empty',
|
||||||
\ 'tagbar': '',
|
\ 'tagbar': 'airline#parts#empty',
|
||||||
\ 'syntastic': '',
|
\ 'syntastic': 'airline#parts#empty',
|
||||||
\ 'whitespace': '',
|
\ 'whitespace': 'airline#parts#empty',
|
||||||
\ }, 'keep')
|
\ }, 'keep')
|
||||||
|
|
||||||
call s:check_defined('g:airline_mode_map', {})
|
call s:check_defined('g:airline_mode_map', {})
|
||||||
@ -80,7 +80,7 @@ function! s:init()
|
|||||||
\ }, 'keep')
|
\ }, 'keep')
|
||||||
|
|
||||||
call airline#extensions#load()
|
call airline#extensions#load()
|
||||||
call s:check_defined('g:airline_section_a', (g:airline_parts.mode).(g:airline_parts.paste).(g:airline_parts.iminsert))
|
call airline#util#define_section('a', ['mode', 'paste', 'iminsert'])
|
||||||
call s:check_defined('g:airline_section_b', (g:airline_parts.hunks).(g:airline_parts.branch))
|
call s:check_defined('g:airline_section_b', (g:airline_parts.hunks).(g:airline_parts.branch))
|
||||||
call s:check_defined('g:airline_section_c', '%<'.(g:airline_parts.file))
|
call s:check_defined('g:airline_section_c', '%<'.(g:airline_parts.file))
|
||||||
call s:check_defined('g:airline_section_gutter', ' '.(g:airline_parts.readonly).'%=')
|
call s:check_defined('g:airline_section_gutter', ' '.(g:airline_parts.readonly).'%=')
|
||||||
|
Loading…
Reference in New Issue
Block a user