diff --git a/autoload/airline/init.vim b/autoload/airline/init.vim index b563581c..5782228b 100644 --- a/autoload/airline/init.vim +++ b/autoload/airline/init.vim @@ -55,6 +55,17 @@ function! airline#init#bootstrap() \ 'branch': get(g:, 'airline_branch_prefix', get(g:, 'airline_powerline_fonts', 0) ? '' : ''), \ }, 'keep') + 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']) + call airline#extensions#load() endfunction diff --git a/autoload/airline/parts.vim b/autoload/airline/parts.vim index 02a6fa57..4a2f5427 100644 --- a/autoload/airline/parts.vim +++ b/autoload/airline/parts.vim @@ -57,15 +57,3 @@ function! airline#parts#readonly() 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']) - diff --git a/t/section.vim b/t/section.vim index 5c86b077..34f279d8 100644 --- a/t/section.vim +++ b/t/section.vim @@ -8,10 +8,6 @@ describe 'section' call airline#parts#define_text('text', 'text') call airline#parts#define_raw('raw', 'raw') call airline#parts#define_function('func', 'SectionSpec') - call airline#parts#define('hi', { - \ 'raw': 'hello', - \ 'highlight': 'hlgroup', - \ }) end it 'should create sections with no separators' @@ -30,6 +26,10 @@ describe 'section' end it 'should prefix with highlight group if provided' + call airline#parts#define('hi', { + \ 'raw': 'hello', + \ 'highlight': 'hlgroup', + \ }) let s = airline#section#create(['hi']) Expect s == '%#hlgroup#hello' end @@ -38,5 +38,10 @@ describe 'section' let s = airline#section#create(['whitespace']) Expect s =~ 'airline#extensions#whitespace#check' end + + it 'should use parts as is if they are not found' + let s = airline#section#create(['asdf', 'func']) + Expect s == 'asdf%{airline#util#wrap(SectionSpec(),0)}' + end end