diff --git a/autoload/gitgutter/diff.vim b/autoload/gitgutter/diff.vim index 2deebe0..6325ca3 100644 --- a/autoload/gitgutter/diff.vim +++ b/autoload/gitgutter/diff.vim @@ -4,14 +4,6 @@ let s:nomodeline = (v:version > 703 || (v:version == 703 && has('patch442'))) ? let s:hunk_re = '^@@ -\(\d\+\),\?\(\d*\) +\(\d\+\),\?\(\d*\) @@' -" True for git v1.7.2+. -function! s:git_supports_command_line_config_override() abort - let [_, error_code] = gitgutter#utility#system(gitgutter#git().' -c foo.bar=baz --version') - return !error_code -endfunction - -let s:c_flag = s:git_supports_command_line_config_override() - let s:temp_from = tempname() let s:temp_buffer = tempname() let s:counter = 0 @@ -132,7 +124,7 @@ function! gitgutter#diff#run_diff(bufnr, from, preserve_full_diff) abort " Call git-diff. let cmd .= gitgutter#git().' --no-pager' - if s:c_flag + if gitgutter#utility#git_supports_command_line_config_override() let cmd .= ' -c "diff.autorefreshindex=0"' let cmd .= ' -c "diff.noprefix=false"' let cmd .= ' -c "core.safecrlf=false"' diff --git a/autoload/gitgutter/utility.vim b/autoload/gitgutter/utility.vim index 3577085..dcded00 100644 --- a/autoload/gitgutter/utility.vim +++ b/autoload/gitgutter/utility.vim @@ -6,6 +6,15 @@ function! gitgutter#utility#supports_overscore_sign() endif endfunction +" True for git v1.7.2+. +function! gitgutter#utility#git_supports_command_line_config_override() abort + if !exists('s:c_flag') + let [_, error_code] = gitgutter#utility#system(gitgutter#git().' -c foo.bar=baz --version') + let s:c_flag = !error_code + endif + return s:c_flag +endfunction + function! gitgutter#utility#setbufvar(buffer, varname, val) let buffer = +a:buffer " Default value for getbufvar() was introduced in Vim 7.3.831.