mirror of
https://github.com/vim-airline/vim-airline.git
synced 2025-12-28 06:36:51 +08:00
convert mode/paste/iminsert parts to function names.
This commit is contained in:
@@ -1,13 +1,31 @@
|
||||
" MIT License. Copyright (c) 2013 Bailey Ling.
|
||||
" 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()
|
||||
return g:airline_detect_paste && &paste ? ' '.g:airline_symbols.paste : ''
|
||||
return g:airline_detect_paste && &paste ? g:airline_symbols.paste : ''
|
||||
endfunction
|
||||
|
||||
function! airline#parts#iminsert()
|
||||
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
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
@@ -1,6 +1,24 @@
|
||||
" MIT License. Copyright (c) 2013 Bailey Ling.
|
||||
" 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
|
||||
function! airline#util#getwinvar(winnr, key, def)
|
||||
return getwinvar(a:winnr, a:key, a:def)
|
||||
|
||||
Reference in New Issue
Block a user