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