diff --git a/autoload/airline/extensions/hunks.vim b/autoload/airline/extensions/hunks.vim index 88499fa..2a89f78 100644 --- a/autoload/airline/extensions/hunks.vim +++ b/autoload/airline/extensions/hunks.vim @@ -1,13 +1,21 @@ " MIT License. Copyright (c) 2013 Bailey Ling. " vim: et ts=2 sts=2 sw=2 +function! s:check_defined(variable, default) + if !exists(a:variable) + let {a:variable} = a:default + endif +endfunction + +call s:check_defined('g:airline#extensions#hunks#non_zero_only', 0) +call s:check_defined('g:airline#extensions#hunks#hunk_symbols', ['+', '~', '-']) + function! airline#extensions#hunks#get_hunks() let hunks = GitGutterGetHunkSummary() - let hunk_symbol = ['+', '~', '-'] let string = '' for i in [0, 1, 2] - if g:airline_hunk_non_zero_only == 0 || hunks[i] > 0 - let string .= printf('%s%s ', hunk_symbol[i], hunks[i]) + if g:airline#extensions#hunks#non_zero_only == 0 || hunks[i] > 0 + let string .= printf('%s%s ', g:airline#extensions#hunks#hunk_symbols[i], hunks[i]) endif endfor return string diff --git a/doc/airline.txt b/doc/airline.txt index 44da7f7..139a237 100644 --- a/doc/airline.txt +++ b/doc/airline.txt @@ -211,9 +211,13 @@ vim-gitgutter * enable/disable detecting changed hunks under source control. > let g:airline_enable_hunks = 1 - -* enable/disable showing only non-zero hunks. - let g:airline_hunk_non_zero_only = 0 +< +* enable/disable showing only non-zero hunks. > + let g:airline#extensions#hunks#non_zero_only = 0 +< +* set hunk count symbols. > + let g:airline#extensions#hunks#hunk_symbols = ['+', '~', '-'] +< ============================================================================== FUNCREFS *airline-funcrefs* diff --git a/plugin/airline.vim b/plugin/airline.vim index a2990bc..b47653a 100644 --- a/plugin/airline.vim +++ b/plugin/airline.vim @@ -25,7 +25,6 @@ call s:check_defined('g:airline_detect_iminsert', 0) call s:check_defined('g:airline_detect_modified', 1) call s:check_defined('g:airline_detect_paste', 1) call s:check_defined('g:airline_detect_whitespace', 1) -call s:check_defined('g:airline_hunk_non_zero_only', 0) call s:check_defined('g:airline_branch_empty_message', '') call s:check_defined('g:airline_branch_prefix', exists('g:airline_powerline_fonts')?' ':'') call s:check_defined('g:airline_readonly_symbol', exists('g:airline_powerline_fonts')?'':'RO')