diff options
author | xero <x@xero.nu> | 2014-07-14 13:23:05 -0400 |
---|---|---|
committer | xero <x@xero.nu> | 2014-07-14 13:23:05 -0400 |
commit | 56560fd597f94dfe6fe5fa79648398ab29d05775 (patch) | |
tree | 7e77d23be98b2df8ef847f49ee645085356305be /vim/.vim/bundle/vim-airline/autoload/airline/extensions/hunks.vim | |
parent | 1434c859bcf94a0bbee88e72c8a01849d0356293 (diff) | |
download | dotfiles_ascii-56560fd597f94dfe6fe5fa79648398ab29d05775.tar.xz dotfiles_ascii-56560fd597f94dfe6fe5fa79648398ab29d05775.zip |
updated repo to manage dotfiles via gnu stow, the symlink farm manager. happy birthday commit! :birthday: :sparkles:
Diffstat (limited to 'vim/.vim/bundle/vim-airline/autoload/airline/extensions/hunks.vim')
-rw-r--r-- | vim/.vim/bundle/vim-airline/autoload/airline/extensions/hunks.vim | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/vim/.vim/bundle/vim-airline/autoload/airline/extensions/hunks.vim b/vim/.vim/bundle/vim-airline/autoload/airline/extensions/hunks.vim new file mode 100644 index 0000000..6827f5d --- /dev/null +++ b/vim/.vim/bundle/vim-airline/autoload/airline/extensions/hunks.vim @@ -0,0 +1,67 @@ +" MIT License. Copyright (c) 2013-2014 Bailey Ling. +" vim: et ts=2 sts=2 sw=2 + +if !get(g:, 'loaded_signify', 0) && !get(g:, 'loaded_gitgutter', 0) + finish +endif + +let s:non_zero_only = get(g:, 'airline#extensions#hunks#non_zero_only', 0) +let s:hunk_symbols = get(g:, 'airline#extensions#hunks#hunk_symbols', ['+', '~', '-']) + +function! s:get_hunks_signify() + let hunks = sy#repo#get_stats() + if hunks[0] >= 0 + return hunks + endif + return [] +endfunction + +function! s:is_branch_empty() + return exists('*airline#extensions#branch#head') && empty(airline#extensions#branch#head()) +endfunction + +function! s:get_hunks_gitgutter() + if !get(g:, 'gitgutter_enabled', 0) || s:is_branch_empty() + return '' + endif + return GitGutterGetHunkSummary() +endfunction + +function! s:get_hunks_empty() + return '' +endfunction + +let s:source_func = '' +function! s:get_hunks() + if empty(s:source_func) + if get(g:, 'loaded_signify', 0) + let s:source_func = 's:get_hunks_signify' + elseif exists('*GitGutterGetHunkSummary') + let s:source_func = 's:get_hunks_gitgutter' + else + let s:source_func = 's:get_hunks_empty' + endif + endif + return {s:source_func}() +endfunction + +function! airline#extensions#hunks#get_hunks() + if !get(w:, 'airline_active', 0) + return '' + endif + let hunks = s:get_hunks() + let string = '' + if !empty(hunks) + for i in [0, 1, 2] + if s:non_zero_only == 0 || hunks[i] > 0 + let string .= printf('%s%s ', s:hunk_symbols[i], hunks[i]) + endif + endfor + endif + return string +endfunction + +function! airline#extensions#hunks#init(ext) + call airline#parts#define_function('hunks', 'airline#extensions#hunks#get_hunks') +endfunction + |