bash completion: add git-difftool

This adds completion for difftool's --tool flag.
The known diff tool names were also consolidated into
a single variable.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
David Aguilar 2009-04-06 01:31:27 -07:00 коммит произвёл Junio C Hamano
Родитель a904392eae
Коммит e2dc2de917
1 изменённых файлов: 22 добавлений и 5 удалений

Просмотреть файл

@ -910,6 +910,26 @@ _git_diff ()
__git_complete_file __git_complete_file
} }
__git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff
tkdiff vimdiff gvimdiff xxdiff
"
_git_difftool ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"
case "$cur" in
--tool=*)
__gitcomp "$__git_mergetools_common kompare" "" "${cur##--tool=}"
return
;;
--*)
__gitcomp "--tool="
return
;;
esac
COMPREPLY=()
}
__git_fetch_options=" __git_fetch_options="
--quiet --verbose --append --upload-pack --force --keep --depth= --quiet --verbose --append --upload-pack --force --keep --depth=
--tags --no-tags --tags --no-tags
@ -1172,11 +1192,7 @@ _git_mergetool ()
local cur="${COMP_WORDS[COMP_CWORD]}" local cur="${COMP_WORDS[COMP_CWORD]}"
case "$cur" in case "$cur" in
--tool=*) --tool=*)
__gitcomp " __gitcomp "$__git_mergetools_common tortoisemerge" "" "${cur##--tool=}"
kdiff3 tkdiff meld xxdiff emerge
vimdiff gvimdiff ecmerge diffuse
opendiff
" "" "${cur##--tool=}"
return return
;; ;;
--*) --*)
@ -1901,6 +1917,7 @@ _git ()
config) _git_config ;; config) _git_config ;;
describe) _git_describe ;; describe) _git_describe ;;
diff) _git_diff ;; diff) _git_diff ;;
difftool) _git_difftool ;;
fetch) _git_fetch ;; fetch) _git_fetch ;;
format-patch) _git_format_patch ;; format-patch) _git_format_patch ;;
fsck) _git_fsck ;; fsck) _git_fsck ;;