Skip to content

Commit 27a5141

Browse files
committed
Check correct executable if g:signify_vcs_cmds was set
References #327
1 parent ec57a86 commit 27a5141

File tree

1 file changed

+3
-32
lines changed

1 file changed

+3
-32
lines changed

autoload/sy/repo.vim

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -606,37 +606,6 @@ endfunction
606606
" 1}}}
607607

608608
" Variables {{{1
609-
let s:difftool = get(g:, 'signify_difftool', 'diff')
610-
if executable(s:difftool)
611-
let s:vcs_dict = {
612-
\ 'git': 'git',
613-
\ 'yadm': 'yadm',
614-
\ 'hg': 'hg',
615-
\ 'svn': 'svn',
616-
\ 'darcs': 'darcs',
617-
\ 'bzr': 'bzr',
618-
\ 'fossil': 'fossil',
619-
\ 'cvs': 'cvs',
620-
\ 'rcs': 'rcsdiff',
621-
\ 'accurev': 'accurev',
622-
\ 'perforce': 'p4',
623-
\ 'tfs': 'tf'
624-
\ }
625-
else
626-
call sy#verbose('No "diff" executable found. Disable support for svn, darcs, bzr.')
627-
let s:vcs_dict = {
628-
\ 'git': 'git',
629-
\ 'yadm': 'yadm',
630-
\ 'hg': 'hg',
631-
\ 'fossil': 'fossil',
632-
\ 'cvs': 'cvs',
633-
\ 'rcs': 'rcsdiff',
634-
\ 'accurev': 'accurev',
635-
\ 'perforce': 'p4',
636-
\ 'tfs': 'tf'
637-
\ }
638-
endif
639-
640609
let s:default_vcs_cmds = {
641610
\ 'git': 'git diff --no-color --no-ext-diff -U0 -- %f',
642611
\ 'yadm': 'yadm diff --no-color --no-ext-diff -U0 -- %f',
@@ -678,6 +647,8 @@ else
678647
let g:signify_vcs_cmds_diffmode = s:default_vcs_cmds_diffmode
679648
endif
680649

650+
let s:vcs_dict = map(copy(g:signify_vcs_cmds), 'split(v:val)[0]')
651+
681652
if exists('g:signify_skip') && has_key(g:signify_skip, 'vcs')
682653
if has_key(g:signify_skip.vcs, 'allow')
683654
let s:vcs_list = filter(copy(g:signify_skip.vcs.allow), 'executable(s:vcs_dict[v:val])')
@@ -691,5 +662,5 @@ else
691662
let s:vcs_list = keys(filter(s:vcs_dict, 'executable(v:val)'))
692663
endif
693664

694-
let s:difftool = sy#util#escape(s:difftool)
665+
let s:difftool = sy#util#escape(get(g:, 'signify_difftool', 'diff'))
695666
let s:devnull = has('win32') || has ('win64') ? 'NUL' : '/dev/null'

0 commit comments

Comments
 (0)