From a5f084dc4eb207fde18865836d3e77480beca454 Mon Sep 17 00:00:00 2001 From: Benjamin Bergman Date: Mon, 19 Aug 2013 22:32:14 -0500 Subject: [PATCH] Use extension local variables, and expose hunk_symbols to user --- autoload/airline/extensions/hunks.vim | 14 +++++++++++--- doc/airline.txt | 10 +++++++--- plugin/airline.vim | 1 - 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/autoload/airline/extensions/hunks.vim b/autoload/airline/extensions/hunks.vim index 88499fa6..2a89f789 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 44da7f76..139a2376 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 a2990bc9..b47653a0 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')