Use extension local variables, and expose hunk_symbols to user

This commit is contained in:
Benjamin Bergman 2013-08-19 22:32:14 -05:00
parent 4d9a0e257f
commit a5f084dc4e
3 changed files with 18 additions and 7 deletions

View File

@ -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

View File

@ -211,9 +211,13 @@ vim-gitgutter <https://github.com/airblade/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*

View File

@ -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')