vim-airline/autoload/airline/parts.vim

72 lines
1.9 KiB
VimL
Raw Normal View History

2013-08-26 22:55:11 -04:00
" MIT License. Copyright (c) 2013 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
2013-08-30 17:51:10 -04:00
let s:parts = {}
2013-08-31 12:07:56 -04:00
" PUBLIC API {{{
2013-08-30 17:51:10 -04: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 })
endfunction
function! airline#parts#define_minwidth(key, width)
call airline#parts#define(a:key, { 'minwidth': a:width })
endfunction
function! airline#parts#define_empty(keys)
for key in a:keys
call airline#parts#define_raw(key, '')
endfor
endfunction
2013-08-30 17:51:10 -04:00
function! airline#parts#get(key)
return get(s:parts, a:key, {})
endfunction
2013-08-31 12:07:56 -04:00
" }}}
function! airline#parts#mode()
return get(w:, 'airline_current_mode', '')
endfunction
2013-08-27 14:08:50 -04:00
function! airline#parts#paste()
return g:airline_detect_paste && &paste ? g:airline_symbols.paste : ''
2013-08-26 23:07:14 -04:00
endfunction
2013-08-27 14:08:50 -04:00
function! airline#parts#iminsert()
2013-08-26 23:07:14 -04:00
if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name')
return toupper(b:keymap_name)
2013-08-26 23:07:14 -04:00
endif
return ''
2013-08-26 22:55:11 -04:00
endfunction
2013-08-27 14:08:50 -04:00
function! airline#parts#readonly()
2013-08-26 23:34:02 -04:00
return &readonly ? g:airline_symbols.readonly : ''
endfunction
call airline#parts#define_function('mode', 'airline#parts#mode')
call airline#parts#define_function('iminsert', 'airline#parts#iminsert')
call airline#parts#define_function('paste', 'airline#parts#paste')
call airline#parts#define('readonly', {
\ 'function': 'airline#parts#readonly',
\ 'highlight': 'airline_file',
\ })
call airline#parts#define_raw('file', '%f%m')
call airline#parts#define_raw('ffenc', '%{printf("%s%s",&fenc,strlen(&ff)>0?"[".&ff."]":"")}')
call airline#parts#define_empty(['hunks', 'branch', 'tagbar', 'syntastic'])