mirror of
https://github.com/git/git.git
synced 2024-05-09 10:16:08 +02:00
Merge branch 'bk/complete-dirname-for-am-and-format-patch' into seen
Command line completion support (in contrib/) has been updated for a few commands to complete directory names where a directory name is expected. * bk/complete-dirname-for-am-and-format-patch: completion: dir-type optargs for am, format-patch
This commit is contained in:
commit
e729936f3b
|
@ -1431,6 +1431,29 @@ __git_count_arguments ()
|
|||
printf "%d" $c
|
||||
}
|
||||
|
||||
# Complete actual dir (not pathspec), respecting any -C options.
|
||||
#
|
||||
# Usage: __git_complete_refs [<option>]...
|
||||
# --cur=<word>: The current dir to be completed. Defaults to the current word.
|
||||
__git_complete_dir ()
|
||||
{
|
||||
local cur_="$cur"
|
||||
|
||||
while test $# != 0; do
|
||||
case "$1" in
|
||||
--cur=*) cur_="${1##--cur=}" ;;
|
||||
*) return 1 ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# This rev-parse invocation amounts to a pwd which respects -C options
|
||||
local context_dir=$(__git rev-parse --show-toplevel --show-prefix 2>/dev/null | paste -s -d '/' 2>/dev/null)
|
||||
[ -d "$context_dir" ] || return 1
|
||||
|
||||
COMPREPLY=$(cd "$context_dir" 2>/dev/null && compgen -d -- "$cur_")
|
||||
}
|
||||
|
||||
__git_whitespacelist="nowarn warn error error-all fix"
|
||||
__git_patchformat="mbox stgit stgit-series hg mboxrd"
|
||||
__git_showcurrentpatch="diff raw"
|
||||
|
@ -1449,6 +1472,10 @@ _git_am ()
|
|||
__gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}"
|
||||
return
|
||||
;;
|
||||
--directory=*)
|
||||
__git_complete_dir --cur="${cur##--directory=}"
|
||||
return
|
||||
;;
|
||||
--patch-format=*)
|
||||
__gitcomp "$__git_patchformat" "" "${cur##--patch-format=}"
|
||||
return
|
||||
|
@ -1980,7 +2007,17 @@ __git_format_patch_extra_options="
|
|||
|
||||
_git_format_patch ()
|
||||
{
|
||||
case "$prev,$cur" in
|
||||
-o,*)
|
||||
__git_complete_dir
|
||||
return
|
||||
;;
|
||||
esac
|
||||
case "$cur" in
|
||||
--output-directory=*)
|
||||
__git_complete_dir --cur="${cur##--output-directory=}"
|
||||
return
|
||||
;;
|
||||
--thread=*)
|
||||
__gitcomp "
|
||||
deep shallow
|
||||
|
|
Loading…
Reference in New Issue