mirror of
https://github.com/airblade/vim-gitgutter.git
synced 2025-11-09 12:03:48 -05:00
Make grep optional instead of required.
When grep is available we use it for efficiency. When it's unavailable, we filter in Vimscript.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
if exists('g:loaded_gitgutter') || !executable('git') || !executable('grep') || !has('signs') || &cp
|
||||
if exists('g:loaded_gitgutter') || !executable('git') || !has('signs') || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_gitgutter = 1
|
||||
@@ -47,6 +47,8 @@ function! s:init()
|
||||
let s:other_signs = []
|
||||
let s:dummy_sign_id = 153
|
||||
|
||||
let s:grep_available = executable('grep')
|
||||
|
||||
let g:gitgutter_initialised = 1
|
||||
endif
|
||||
endfunction
|
||||
@@ -189,8 +191,10 @@ endfunction
|
||||
" Diff processing {{{
|
||||
|
||||
function! s:run_diff()
|
||||
let cmd = 'git diff --no-ext-diff --no-color -U0 ' . g:gitgutter_diff_args . ' ' .
|
||||
\ shellescape(s:file()) . ' | grep -e "^@@ "'
|
||||
let cmd = 'git diff --no-ext-diff --no-color -U0 ' . g:gitgutter_diff_args . ' ' . shellescape(s:file())
|
||||
if s:grep_available
|
||||
let cmd .= ' | grep -e "^@@ "'
|
||||
endif
|
||||
let diff = system(s:command_in_directory_of_file(cmd))
|
||||
return diff
|
||||
endfunction
|
||||
|
||||
Reference in New Issue
Block a user