diff --git a/autoload/airline/extensions/branch.vim b/autoload/airline/extensions/branch.vim index 1b86fb7..6daa406 100644 --- a/autoload/airline/extensions/branch.vim +++ b/autoload/airline/extensions/branch.vim @@ -1,15 +1,23 @@ " MIT license. Copyright (c) 2013 Bailey Ling. " vim: ts=2 sts=2 sw=2 fdm=indent -function! airline#extensions#branch#apply() - let w:airline_current_branch = exists('*fugitive#head') && strlen(fugitive#head()) > 0 - \ ? g:airline_branch_prefix.fugitive#head() - \ : exists('*lawrencium#statusline') && strlen(lawrencium#statusline()) > 0 - \ ? g:airline_branch_prefix.lawrencium#statusline() - \ : g:airline_branch_empty_message +function! airline#extensions#branch#get_head() + let head = '' + + if exists('*fugitive#head') + let head = fugitive#head() + endif + + if empty(head) + if exists('*lawrencium#statusline') + let head = lawrencium#statusline() + endif + endif + + return empty(head) ? g:airline_branch_empty_message : g:airline_branch_prefix.head endfunction function! airline#extensions#branch#init(ext) - call a:ext.add_statusline_funcref(function('airline#extensions#branch#apply')) + let g:airline_section_b .= '%{airline#extensions#branch#get_head()}' endfunction diff --git a/plugin/airline.vim b/plugin/airline.vim index 74e88ca..a9b0644 100644 --- a/plugin/airline.vim +++ b/plugin/airline.vim @@ -60,7 +60,7 @@ call s:check_defined('g:airline_theme_map', { \ }) call s:check_defined('g:airline_section_a', '%{get(w:, "airline_current_mode", "")}') -call s:check_defined('g:airline_section_b', '%{get(w:, "airline_current_branch", "")}') +call s:check_defined('g:airline_section_b', '') call s:check_defined('g:airline_section_c', '%f%m') call s:check_defined('g:airline_section_gutter', '%=') call s:check_defined('g:airline_section_x', "%{strlen(&filetype)>0?&filetype:''}")