2013-08-27 10:55:11 +08:00
|
|
|
" MIT License. Copyright (c) 2013 Bailey Ling.
|
|
|
|
" vim: et ts=2 sts=2 sw=2
|
|
|
|
|
2013-08-31 05:51:10 +08:00
|
|
|
let s:parts = {}
|
|
|
|
|
2013-09-01 00:07:56 +08:00
|
|
|
" PUBLIC API {{{
|
|
|
|
|
2013-08-31 05:51:10 +08:00
|
|
|
function! airline#parts#define(key, config)
|
|
|
|
let s:parts[a:key] = get(s:parts, a:key, {})
|
|
|
|
call extend(s:parts[a:key], a:config)
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! airline#parts#define_function(key, name)
|
|
|
|
call airline#parts#define(a:key, { 'function': a:name })
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! airline#parts#define_text(key, text)
|
|
|
|
call airline#parts#define(a:key, { 'text': a:text })
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! airline#parts#define_raw(key, raw)
|
|
|
|
call airline#parts#define(a:key, { 'raw': a:raw })
|
2013-08-29 07:29:35 +08:00
|
|
|
endfunction
|
|
|
|
|
2013-08-31 11:35:23 +08:00
|
|
|
function! airline#parts#define_empty(keys)
|
|
|
|
for key in a:keys
|
|
|
|
call airline#parts#define_raw(key, '')
|
|
|
|
endfor
|
|
|
|
endfunction
|
|
|
|
|
2013-08-31 05:51:10 +08:00
|
|
|
function! airline#parts#get(key)
|
|
|
|
return get(s:parts, a:key, {})
|
2013-08-29 07:29:35 +08:00
|
|
|
endfunction
|
|
|
|
|
2013-09-01 00:07:56 +08:00
|
|
|
" }}}
|
2013-08-29 07:29:35 +08:00
|
|
|
|
2013-08-28 02:08:50 +08:00
|
|
|
function! airline#parts#paste()
|
2013-08-29 07:29:35 +08:00
|
|
|
return g:airline_detect_paste && &paste ? g:airline_symbols.paste : ''
|
2013-08-27 11:07:14 +08:00
|
|
|
endfunction
|
|
|
|
|
2013-08-28 02:08:50 +08:00
|
|
|
function! airline#parts#iminsert()
|
2013-08-27 11:07:14 +08:00
|
|
|
if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name')
|
2013-08-29 07:29:35 +08:00
|
|
|
return toupper(b:keymap_name)
|
2013-08-27 11:07:14 +08:00
|
|
|
endif
|
|
|
|
return ''
|
2013-08-27 10:55:11 +08:00
|
|
|
endfunction
|
|
|
|
|
2013-08-28 02:08:50 +08:00
|
|
|
function! airline#parts#readonly()
|
2013-08-27 11:34:02 +08:00
|
|
|
return &readonly ? g:airline_symbols.readonly : ''
|
|
|
|
endfunction
|
|
|
|
|