diff --git a/autoload/airline.vim b/autoload/airline.vim index 2ff44dc..f397f0e 100644 --- a/autoload/airline.vim +++ b/autoload/airline.vim @@ -52,8 +52,7 @@ function! airline#get_statusline(winnr, active) call builder.add_section('airline_a', s:get_section(a:winnr, 'a') \ .'%{g:airline_detect_paste && &paste ? g:airline_paste_symbol." " : ""}') call builder.add_section('airline_b', s:get_section(a:winnr, 'b')) - call builder.add_section('airline_c', '%<'.s:get_section(a:winnr, 'c') - \ .' %#airline_file#%{&ro ? g:airline_readonly_symbol : ""}') + call builder.add_section('airline_c', '%<'.s:get_section(a:winnr, 'c')) else call builder.add_section('airline_c', '%f%m') endif diff --git a/autoload/airline/extensions.vim b/autoload/airline/extensions.vim index 454f68a..07d536a 100644 --- a/autoload/airline/extensions.vim +++ b/autoload/airline/extensions.vim @@ -167,6 +167,10 @@ function! airline#extensions#load() call airline#extensions#whitespace#init() endif + if (get(g:, 'airline#extensions#readonly#enabled', 1) && get(g:, 'airline_detect_readonly', 1)) + call airline#extensions#readonly#init() + endif + if g:airline_detect_iminsert call airline#extensions#iminsert#init() endif diff --git a/autoload/airline/extensions/readonly.vim b/autoload/airline/extensions/readonly.vim new file mode 100644 index 0000000..bd14c8c --- /dev/null +++ b/autoload/airline/extensions/readonly.vim @@ -0,0 +1,11 @@ +" MIT License. Copyright (c) 2013 Bailey Ling. +" vim: et ts=2 sts=2 sw=2 + +function! airline#extensions#readonly#get_mark() + return &ro ? g:airline_readonly_symbol : '' +endfunction + +function! airline#extensions#readonly#init() + let g:airline_section_c .= '%{airline#extensions#readonly#get_mark()}' +endfunction +