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:
Andy Stewart
2013-04-05 11:04:45 +02:00
parent 93288afef8
commit 5bc25a8f11

View File

@@ -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