mirror of
https://github.com/git/git.git
synced 2026-03-16 19:50:09 +01:00
Merge branch 'master' into next
* master: bash: Support internal revlist options better. bash: Support unique completion when possible. bash: Support unique completion on git-config. bash: Classify more commends out of completion. bash: Add space after unique command name is completed. bash: Complete long options to git-add. bash: Classify cat-file and reflog as plumbing. bash: Remove short option completions for branch/checkout/diff.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# bash completion support for core Git.
|
||||
#
|
||||
# Copyright (C) 2006 Shawn Pearce
|
||||
# Copyright (C) 2006,2007 Shawn Pearce
|
||||
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
|
||||
#
|
||||
# The contained completion routines provide support for completing:
|
||||
@@ -61,6 +61,25 @@ __git_ps1 ()
|
||||
fi
|
||||
}
|
||||
|
||||
__gitcomp ()
|
||||
{
|
||||
local all c s=$'\n' IFS=' '$'\t'$'\n'
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
if [ $# -gt 2 ]; then
|
||||
cur="$3"
|
||||
fi
|
||||
for c in $1; do
|
||||
case "$c$4" in
|
||||
--*=*) all="$all$c$4$s" ;;
|
||||
*.) all="$all$c$4$s" ;;
|
||||
*) all="$all$c$4 $s" ;;
|
||||
esac
|
||||
done
|
||||
IFS=$s
|
||||
COMPREPLY=($(compgen -P "$2" -W "$all" -- "$cur"))
|
||||
return
|
||||
}
|
||||
|
||||
__git_heads ()
|
||||
{
|
||||
local cmd i is_hash=y dir="$(__gitdir "$1")"
|
||||
@@ -200,7 +219,7 @@ __git_complete_file ()
|
||||
-- "$cur"))
|
||||
;;
|
||||
*)
|
||||
COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@@ -212,15 +231,18 @@ __git_complete_revlist ()
|
||||
*...*)
|
||||
pfx="${cur%...*}..."
|
||||
cur="${cur#*...}"
|
||||
COMPREPLY=($(compgen -P "$pfx" -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)" "$pfx" "$cur"
|
||||
;;
|
||||
*..*)
|
||||
pfx="${cur%..*}.."
|
||||
cur="${cur#*..}"
|
||||
COMPREPLY=($(compgen -P "$pfx" -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)" "$pfx" "$cur"
|
||||
;;
|
||||
*.)
|
||||
__gitcomp "$cur."
|
||||
;;
|
||||
*)
|
||||
COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@@ -235,15 +257,25 @@ __git_commands ()
|
||||
for i in $(git help -a|egrep '^ ')
|
||||
do
|
||||
case $i in
|
||||
add--interactive) : plumbing;;
|
||||
applymbox) : ask gittus;;
|
||||
applypatch) : ask gittus;;
|
||||
archimport) : import;;
|
||||
cat-file) : plumbing;;
|
||||
check-ref-format) : plumbing;;
|
||||
commit-tree) : plumbing;;
|
||||
convert-objects) : plumbing;;
|
||||
cvsexportcommit) : export;;
|
||||
cvsimport) : import;;
|
||||
cvsserver) : daemon;;
|
||||
daemon) : daemon;;
|
||||
fsck-objects) : plumbing;;
|
||||
fetch-pack) : plumbing;;
|
||||
fmt-merge-msg) : plumbing;;
|
||||
hash-object) : plumbing;;
|
||||
http-*) : transport;;
|
||||
index-pack) : plumbing;;
|
||||
init-db) : deprecated;;
|
||||
local-fetch) : plumbing;;
|
||||
mailinfo) : plumbing;;
|
||||
mailsplit) : plumbing;;
|
||||
@@ -256,8 +288,13 @@ __git_commands ()
|
||||
parse-remote) : plumbing;;
|
||||
patch-id) : plumbing;;
|
||||
peek-remote) : plumbing;;
|
||||
prune) : plumbing;;
|
||||
prune-packed) : plumbing;;
|
||||
quiltimport) : import;;
|
||||
read-tree) : plumbing;;
|
||||
receive-pack) : plumbing;;
|
||||
reflog) : plumbing;;
|
||||
repo-config) : plumbing;;
|
||||
rerere) : plumbing;;
|
||||
rev-list) : plumbing;;
|
||||
rev-parse) : plumbing;;
|
||||
@@ -268,14 +305,19 @@ __git_commands ()
|
||||
show-index) : plumbing;;
|
||||
ssh-*) : transport;;
|
||||
stripspace) : plumbing;;
|
||||
svn) : import export;;
|
||||
svnimport) : import;;
|
||||
symbolic-ref) : plumbing;;
|
||||
tar-tree) : deprecated;;
|
||||
unpack-file) : plumbing;;
|
||||
unpack-objects) : plumbing;;
|
||||
update-index) : plumbing;;
|
||||
update-ref) : plumbing;;
|
||||
update-server-info) : daemon;;
|
||||
upload-archive) : plumbing;;
|
||||
upload-pack) : plumbing;;
|
||||
write-tree) : plumbing;;
|
||||
verify-tag) : plumbing;;
|
||||
*) echo $i;;
|
||||
esac
|
||||
done
|
||||
@@ -314,22 +356,19 @@ _git_am ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
if [ -d .dotest ]; then
|
||||
COMPREPLY=($(compgen -W "
|
||||
--skip --resolved
|
||||
" -- "$cur"))
|
||||
__gitcomp "--skip --resolved"
|
||||
return
|
||||
fi
|
||||
case "$cur" in
|
||||
--whitespace=*)
|
||||
COMPREPLY=($(compgen -W "$__git_whitespacelist" \
|
||||
-- "${cur##--whitespace=}"))
|
||||
__gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}"
|
||||
return
|
||||
;;
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
--signoff --utf8 --binary --3way --interactive
|
||||
--whitespace=
|
||||
" -- "$cur"))
|
||||
"
|
||||
return
|
||||
esac
|
||||
COMPREPLY=()
|
||||
@@ -340,17 +379,27 @@ _git_apply ()
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "$cur" in
|
||||
--whitespace=*)
|
||||
COMPREPLY=($(compgen -W "$__git_whitespacelist" \
|
||||
-- "${cur##--whitespace=}"))
|
||||
__gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}"
|
||||
return
|
||||
;;
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
--stat --numstat --summary --check --index
|
||||
--cached --index-info --reverse --reject --unidiff-zero
|
||||
--apply --no-add --exclude=
|
||||
--whitespace= --inaccurate-eof --verbose
|
||||
" -- "$cur"))
|
||||
"
|
||||
return
|
||||
esac
|
||||
COMPREPLY=()
|
||||
}
|
||||
|
||||
_git_add ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "$cur" in
|
||||
--*)
|
||||
__gitcomp "--interactive"
|
||||
return
|
||||
esac
|
||||
COMPREPLY=()
|
||||
@@ -358,30 +407,12 @@ _git_apply ()
|
||||
|
||||
_git_branch ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
COMPREPLY=($(compgen -W "-l -f -d -D $(__git_refs)" -- "$cur"))
|
||||
}
|
||||
|
||||
_git_cat_file ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "${COMP_WORDS[0]},$COMP_CWORD" in
|
||||
git-cat-file*,1)
|
||||
COMPREPLY=($(compgen -W "-p -t blob tree commit tag" -- "$cur"))
|
||||
;;
|
||||
git,2)
|
||||
COMPREPLY=($(compgen -W "-p -t blob tree commit tag" -- "$cur"))
|
||||
;;
|
||||
*)
|
||||
__git_complete_file
|
||||
;;
|
||||
esac
|
||||
__gitcomp "$(__git_refs)"
|
||||
}
|
||||
|
||||
_git_checkout ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
COMPREPLY=($(compgen -W "-l -b $(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)"
|
||||
}
|
||||
|
||||
_git_cherry_pick ()
|
||||
@@ -389,12 +420,10 @@ _git_cherry_pick ()
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "$cur" in
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
--edit --no-commit
|
||||
" -- "$cur"))
|
||||
__gitcomp "--edit --no-commit"
|
||||
;;
|
||||
*)
|
||||
COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@@ -404,10 +433,10 @@ _git_commit ()
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "$cur" in
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
--all --author= --signoff --verify --no-verify
|
||||
--edit --amend --include --only
|
||||
" -- "$cur"))
|
||||
"
|
||||
return
|
||||
esac
|
||||
COMPREPLY=()
|
||||
@@ -420,8 +449,7 @@ _git_diff ()
|
||||
|
||||
_git_diff_tree ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
COMPREPLY=($(compgen -W "-r -p -M $(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)"
|
||||
}
|
||||
|
||||
_git_fetch ()
|
||||
@@ -430,16 +458,15 @@ _git_fetch ()
|
||||
|
||||
case "${COMP_WORDS[0]},$COMP_CWORD" in
|
||||
git-fetch*,1)
|
||||
COMPREPLY=($(compgen -W "$(__git_remotes)" -- "$cur"))
|
||||
__gitcomp "$(__git_remotes)"
|
||||
;;
|
||||
git,2)
|
||||
COMPREPLY=($(compgen -W "$(__git_remotes)" -- "$cur"))
|
||||
__gitcomp "$(__git_remotes)"
|
||||
;;
|
||||
*)
|
||||
case "$cur" in
|
||||
*:*)
|
||||
cur="${cur#*:}"
|
||||
COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)" "" "${cur#*:}"
|
||||
;;
|
||||
*)
|
||||
local remote
|
||||
@@ -447,7 +474,7 @@ _git_fetch ()
|
||||
git-fetch) remote="${COMP_WORDS[1]}" ;;
|
||||
git) remote="${COMP_WORDS[2]}" ;;
|
||||
esac
|
||||
COMPREPLY=($(compgen -W "$(__git_refs2 "$remote")" -- "$cur"))
|
||||
__gitcomp "$(__git_refs2 "$remote")"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@@ -459,7 +486,7 @@ _git_format_patch ()
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "$cur" in
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
--stdout --attach --thread
|
||||
--output-directory
|
||||
--numbered --start-number
|
||||
@@ -467,7 +494,8 @@ _git_format_patch ()
|
||||
--signoff
|
||||
--in-reply-to=
|
||||
--full-index --binary
|
||||
" -- "$cur"))
|
||||
--not --all
|
||||
"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
@@ -476,8 +504,7 @@ _git_format_patch ()
|
||||
|
||||
_git_ls_remote ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
COMPREPLY=($(compgen -W "$(__git_remotes)" -- "$cur"))
|
||||
__gitcomp "$(__git_remotes)"
|
||||
}
|
||||
|
||||
_git_ls_tree ()
|
||||
@@ -490,13 +517,13 @@ _git_log ()
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "$cur" in
|
||||
--pretty=*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
oneline short medium full fuller email raw
|
||||
" -- "${cur##--pretty=}"))
|
||||
" "" "${cur##--pretty=}"
|
||||
return
|
||||
;;
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
--max-count= --max-age= --since= --after=
|
||||
--min-age= --before= --until=
|
||||
--root --not --topo-order --date-order
|
||||
@@ -506,7 +533,8 @@ _git_log ()
|
||||
--author= --committer= --grep=
|
||||
--all-match
|
||||
--pretty= --name-status --name-only
|
||||
" -- "$cur"))
|
||||
--not --all
|
||||
"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
@@ -518,34 +546,31 @@ _git_merge ()
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "${COMP_WORDS[COMP_CWORD-1]}" in
|
||||
-s|--strategy)
|
||||
COMPREPLY=($(compgen -W "$(__git_merge_strategies)" -- "$cur"))
|
||||
__gitcomp "$(__git_merge_strategies)"
|
||||
return
|
||||
esac
|
||||
case "$cur" in
|
||||
--strategy=*)
|
||||
COMPREPLY=($(compgen -W "$(__git_merge_strategies)" \
|
||||
-- "${cur##--strategy=}"))
|
||||
__gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}"
|
||||
return
|
||||
;;
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
--no-commit --no-summary --squash --strategy
|
||||
" -- "$cur"))
|
||||
"
|
||||
return
|
||||
esac
|
||||
COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)"
|
||||
}
|
||||
|
||||
_git_merge_base ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)"
|
||||
}
|
||||
|
||||
_git_name_rev ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
COMPREPLY=($(compgen -W "--tags --all --stdin" -- "$cur"))
|
||||
__gitcomp "--tags --all --stdin"
|
||||
}
|
||||
|
||||
_git_pull ()
|
||||
@@ -554,10 +579,10 @@ _git_pull ()
|
||||
|
||||
case "${COMP_WORDS[0]},$COMP_CWORD" in
|
||||
git-pull*,1)
|
||||
COMPREPLY=($(compgen -W "$(__git_remotes)" -- "$cur"))
|
||||
__gitcomp "$(__git_remotes)"
|
||||
;;
|
||||
git,2)
|
||||
COMPREPLY=($(compgen -W "$(__git_remotes)" -- "$cur"))
|
||||
__gitcomp "$(__git_remotes)"
|
||||
;;
|
||||
*)
|
||||
local remote
|
||||
@@ -565,7 +590,7 @@ _git_pull ()
|
||||
git-pull) remote="${COMP_WORDS[1]}" ;;
|
||||
git) remote="${COMP_WORDS[2]}" ;;
|
||||
esac
|
||||
COMPREPLY=($(compgen -W "$(__git_refs "$remote")" -- "$cur"))
|
||||
__gitcomp "$(__git_refs "$remote")"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@@ -576,10 +601,10 @@ _git_push ()
|
||||
|
||||
case "${COMP_WORDS[0]},$COMP_CWORD" in
|
||||
git-push*,1)
|
||||
COMPREPLY=($(compgen -W "$(__git_remotes)" -- "$cur"))
|
||||
__gitcomp "$(__git_remotes)"
|
||||
;;
|
||||
git,2)
|
||||
COMPREPLY=($(compgen -W "$(__git_remotes)" -- "$cur"))
|
||||
__gitcomp "$(__git_remotes)"
|
||||
;;
|
||||
*)
|
||||
case "$cur" in
|
||||
@@ -589,11 +614,10 @@ _git_push ()
|
||||
git-push) remote="${COMP_WORDS[1]}" ;;
|
||||
git) remote="${COMP_WORDS[2]}" ;;
|
||||
esac
|
||||
cur="${cur#*:}"
|
||||
COMPREPLY=($(compgen -W "$(__git_refs "$remote")" -- "$cur"))
|
||||
__gitcomp "$(__git_refs "$remote")" "" "${cur#*:}"
|
||||
;;
|
||||
*)
|
||||
COMPREPLY=($(compgen -W "$(__git_refs2)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs2)"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@@ -604,29 +628,24 @@ _git_rebase ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
if [ -d .dotest ]; then
|
||||
COMPREPLY=($(compgen -W "
|
||||
--continue --skip --abort
|
||||
" -- "$cur"))
|
||||
__gitcomp "--continue --skip --abort"
|
||||
return
|
||||
fi
|
||||
case "${COMP_WORDS[COMP_CWORD-1]}" in
|
||||
-s|--strategy)
|
||||
COMPREPLY=($(compgen -W "$(__git_merge_strategies)" -- "$cur"))
|
||||
__gitcomp "$(__git_merge_strategies)"
|
||||
return
|
||||
esac
|
||||
case "$cur" in
|
||||
--strategy=*)
|
||||
COMPREPLY=($(compgen -W "$(__git_merge_strategies)" \
|
||||
-- "${cur##--strategy=}"))
|
||||
__gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}"
|
||||
return
|
||||
;;
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
--onto --merge --strategy
|
||||
" -- "$cur"))
|
||||
__gitcomp "--onto --merge --strategy"
|
||||
return
|
||||
esac
|
||||
COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)"
|
||||
}
|
||||
|
||||
_git_config ()
|
||||
@@ -635,26 +654,40 @@ _git_config ()
|
||||
local prv="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
case "$prv" in
|
||||
branch.*.remote)
|
||||
COMPREPLY=($(compgen -W "$(__git_remotes)" -- "$cur"))
|
||||
__gitcomp "$(__git_remotes)"
|
||||
return
|
||||
;;
|
||||
branch.*.merge)
|
||||
COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
|
||||
__gitcomp "$(__git_refs)"
|
||||
return
|
||||
;;
|
||||
remote.*.fetch)
|
||||
local remote="${prv#remote.}"
|
||||
remote="${remote%.fetch}"
|
||||
COMPREPLY=($(compgen -W "$(__git_refs_remotes "$remote")" \
|
||||
-- "$cur"))
|
||||
__gitcomp "$(__git_refs_remotes "$remote")"
|
||||
return
|
||||
;;
|
||||
remote.*.push)
|
||||
local remote="${prv#remote.}"
|
||||
remote="${remote%.push}"
|
||||
COMPREPLY=($(compgen -W "$(git --git-dir="$(__gitdir)" \
|
||||
__gitcomp "$(git --git-dir="$(__gitdir)" \
|
||||
for-each-ref --format='%(refname):%(refname)' \
|
||||
refs/heads)" -- "$cur"))
|
||||
refs/heads)"
|
||||
return
|
||||
;;
|
||||
pull.twohead|pull.octopus)
|
||||
__gitcomp "$(__git_merge_strategies)"
|
||||
return
|
||||
;;
|
||||
color.branch|color.diff|color.status)
|
||||
__gitcomp "always never auto"
|
||||
return
|
||||
;;
|
||||
color.*.*)
|
||||
__gitcomp "
|
||||
black red green yellow blue magenta cyan white
|
||||
bold dim ul blink reverse
|
||||
"
|
||||
return
|
||||
;;
|
||||
*.*)
|
||||
@@ -664,41 +697,39 @@ _git_config ()
|
||||
esac
|
||||
case "$cur" in
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
--global --list --replace-all
|
||||
--get --get-all --get-regexp
|
||||
--unset --unset-all
|
||||
" -- "$cur"))
|
||||
"
|
||||
return
|
||||
;;
|
||||
branch.*.*)
|
||||
local pfx="${cur%.*}."
|
||||
cur="${cur##*.}"
|
||||
COMPREPLY=($(compgen -P "$pfx" -W "remote merge" -- "$cur"))
|
||||
__gitcomp "remote merge" "$pfx" "$cur"
|
||||
return
|
||||
;;
|
||||
branch.*)
|
||||
local pfx="${cur%.*}."
|
||||
cur="${cur#*.}"
|
||||
COMPREPLY=($(compgen -P "$pfx" -S . \
|
||||
-W "$(__git_heads)" -- "$cur"))
|
||||
__gitcomp "$(__git_heads)" "$pfx" "$cur" "."
|
||||
return
|
||||
;;
|
||||
remote.*.*)
|
||||
local pfx="${cur%.*}."
|
||||
cur="${cur##*.}"
|
||||
COMPREPLY=($(compgen -P "$pfx" -W "url fetch push" -- "$cur"))
|
||||
__gitcomp "url fetch push" "$pfx" "$cur"
|
||||
return
|
||||
;;
|
||||
remote.*)
|
||||
local pfx="${cur%.*}."
|
||||
cur="${cur#*.}"
|
||||
COMPREPLY=($(compgen -P "$pfx" -S . \
|
||||
-W "$(__git_remotes)" -- "$cur"))
|
||||
__gitcomp "$(__git_remotes)" "$pfx" "$cur" "."
|
||||
return
|
||||
;;
|
||||
esac
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
apply.whitespace
|
||||
core.fileMode
|
||||
core.gitProxy
|
||||
@@ -710,47 +741,79 @@ _git_config ()
|
||||
core.warnAmbiguousRefs
|
||||
core.compression
|
||||
core.legacyHeaders
|
||||
i18n.commitEncoding
|
||||
i18n.logOutputEncoding
|
||||
diff.color
|
||||
core.packedGitWindowSize
|
||||
core.packedGitLimit
|
||||
color.branch
|
||||
color.branch.current
|
||||
color.branch.local
|
||||
color.branch.remote
|
||||
color.branch.plain
|
||||
color.diff
|
||||
color.diff.plain
|
||||
color.diff.meta
|
||||
color.diff.frag
|
||||
color.diff.old
|
||||
color.diff.new
|
||||
color.diff.commit
|
||||
color.diff.whitespace
|
||||
color.pager
|
||||
color.status
|
||||
color.status.header
|
||||
color.status.added
|
||||
color.status.changed
|
||||
color.status.untracked
|
||||
diff.renameLimit
|
||||
diff.renames
|
||||
pager.color
|
||||
color.pager
|
||||
status.color
|
||||
color.status
|
||||
log.showroot
|
||||
show.difftree
|
||||
showbranch.default
|
||||
whatchanged.difftree
|
||||
fetch.unpackLimit
|
||||
format.headers
|
||||
gitcvs.enabled
|
||||
gitcvs.logfile
|
||||
gc.reflogexpire
|
||||
gc.reflogexpireunreachable
|
||||
gc.rerereresolved
|
||||
gc.rerereunresolved
|
||||
http.sslVerify
|
||||
http.sslCert
|
||||
http.sslKey
|
||||
http.sslCAInfo
|
||||
http.sslCAPath
|
||||
http.maxRequests
|
||||
http.lowSpeedLimit http.lowSpeedTime
|
||||
http.lowSpeedLimit
|
||||
http.lowSpeedTime
|
||||
http.noEPSV
|
||||
pack.window
|
||||
repack.useDeltaBaseOffset
|
||||
pull.octopus pull.twohead
|
||||
i18n.commitEncoding
|
||||
i18n.logOutputEncoding
|
||||
log.showroot
|
||||
merge.summary
|
||||
merge.verbosity
|
||||
pack.window
|
||||
pull.octopus
|
||||
pull.twohead
|
||||
repack.useDeltaBaseOffset
|
||||
show.difftree
|
||||
showbranch.default
|
||||
tar.umask
|
||||
transfer.unpackLimit
|
||||
receive.unpackLimit
|
||||
receive.denyNonFastForwards
|
||||
user.name user.email
|
||||
tar.umask
|
||||
gitcvs.enabled
|
||||
gitcvs.logfile
|
||||
user.name
|
||||
user.email
|
||||
user.signingkey
|
||||
whatchanged.difftree
|
||||
branch. remote.
|
||||
" -- "$cur"))
|
||||
"
|
||||
}
|
||||
|
||||
_git_reset ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
local opt="--mixed --hard --soft"
|
||||
COMPREPLY=($(compgen -W "$opt $(__git_refs)" -- "$cur"))
|
||||
case "$cur" in
|
||||
--*)
|
||||
__gitcomp "--mixed --hard --soft"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
__gitcomp "$(__git_refs)"
|
||||
}
|
||||
|
||||
_git_show ()
|
||||
@@ -758,13 +821,13 @@ _git_show ()
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "$cur" in
|
||||
--pretty=*)
|
||||
COMPREPLY=($(compgen -W "
|
||||
__gitcomp "
|
||||
oneline short medium full fuller email raw
|
||||
" -- "${cur##--pretty=}"))
|
||||
" "" "${cur##--pretty=}"
|
||||
return
|
||||
;;
|
||||
--*)
|
||||
COMPREPLY=($(compgen -W "--pretty=" -- "$cur"))
|
||||
__gitcomp "--pretty="
|
||||
return
|
||||
;;
|
||||
esac
|
||||
@@ -787,12 +850,12 @@ _git ()
|
||||
done
|
||||
|
||||
if [ $c -eq $COMP_CWORD -a -z "$command" ]; then
|
||||
COMPREPLY=($(compgen -W "
|
||||
--git-dir= --version --exec-path
|
||||
$(__git_commands)
|
||||
$(__git_aliases)
|
||||
" -- "${COMP_WORDS[COMP_CWORD]}"))
|
||||
return;
|
||||
case "${COMP_WORDS[COMP_CWORD]}" in
|
||||
--*=*) COMPREPLY=() ;;
|
||||
--*) __gitcomp "--git-dir= --bare --version --exec-path" ;;
|
||||
*) __gitcomp "$(__git_commands) $(__git_aliases)" ;;
|
||||
esac
|
||||
return
|
||||
fi
|
||||
|
||||
local expansion=$(__git_aliased_command "$command")
|
||||
@@ -800,9 +863,9 @@ _git ()
|
||||
|
||||
case "$command" in
|
||||
am) _git_am ;;
|
||||
add) _git_add ;;
|
||||
apply) _git_apply ;;
|
||||
branch) _git_branch ;;
|
||||
cat-file) _git_cat_file ;;
|
||||
checkout) _git_checkout ;;
|
||||
cherry-pick) _git_cherry_pick ;;
|
||||
commit) _git_commit ;;
|
||||
@@ -820,7 +883,6 @@ _git ()
|
||||
pull) _git_pull ;;
|
||||
push) _git_push ;;
|
||||
rebase) _git_rebase ;;
|
||||
repo-config) _git_config ;;
|
||||
reset) _git_reset ;;
|
||||
show) _git_show ;;
|
||||
show-branch) _git_log ;;
|
||||
@@ -832,33 +894,38 @@ _git ()
|
||||
_gitk ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
COMPREPLY=($(compgen -W "--all $(__git_refs)" -- "$cur"))
|
||||
case "$cur" in
|
||||
--*)
|
||||
__gitcomp "--not --all"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
__git_complete_revlist
|
||||
}
|
||||
|
||||
complete -o default -o nospace -F _git git
|
||||
complete -o default -F _gitk gitk
|
||||
complete -o default -F _git_am git-am
|
||||
complete -o default -F _git_apply git-apply
|
||||
complete -o default -F _git_branch git-branch
|
||||
complete -o default -o nospace -F _git_cat_file git-cat-file
|
||||
complete -o default -F _git_checkout git-checkout
|
||||
complete -o default -F _git_cherry_pick git-cherry-pick
|
||||
complete -o default -F _git_commit git-commit
|
||||
complete -o default -o nospace -F _gitk gitk
|
||||
complete -o default -o nospace -F _git_am git-am
|
||||
complete -o default -o nospace -F _git_apply git-apply
|
||||
complete -o default -o nospace -F _git_branch git-branch
|
||||
complete -o default -o nospace -F _git_checkout git-checkout
|
||||
complete -o default -o nospace -F _git_cherry_pick git-cherry-pick
|
||||
complete -o default -o nospace -F _git_commit git-commit
|
||||
complete -o default -o nospace -F _git_diff git-diff
|
||||
complete -o default -F _git_diff_tree git-diff-tree
|
||||
complete -o default -o nospace -F _git_diff_tree git-diff-tree
|
||||
complete -o default -o nospace -F _git_fetch git-fetch
|
||||
complete -o default -o nospace -F _git_format_patch git-format-patch
|
||||
complete -o default -o nospace -F _git_log git-log
|
||||
complete -o default -F _git_ls_remote git-ls-remote
|
||||
complete -o default -o nospace -F _git_ls_remote git-ls-remote
|
||||
complete -o default -o nospace -F _git_ls_tree git-ls-tree
|
||||
complete -o default -F _git_merge git-merge
|
||||
complete -o default -F _git_merge_base git-merge-base
|
||||
complete -o default -F _git_name_rev git-name-rev
|
||||
complete -o default -o nospace -F _git_merge git-merge
|
||||
complete -o default -o nospace -F _git_merge_base git-merge-base
|
||||
complete -o default -o nospace -F _git_name_rev git-name-rev
|
||||
complete -o default -o nospace -F _git_pull git-pull
|
||||
complete -o default -o nospace -F _git_push git-push
|
||||
complete -o default -F _git_rebase git-rebase
|
||||
complete -o default -F _git_config git-config
|
||||
complete -o default -F _git_reset git-reset
|
||||
complete -o default -o nospace -F _git_rebase git-rebase
|
||||
complete -o default -o nospace -F _git_config git-config
|
||||
complete -o default -o nospace -F _git_reset git-reset
|
||||
complete -o default -o nospace -F _git_show git-show
|
||||
complete -o default -o nospace -F _git_log git-show-branch
|
||||
complete -o default -o nospace -F _git_log git-whatchanged
|
||||
@@ -868,19 +935,19 @@ complete -o default -o nospace -F _git_log git-whatchanged
|
||||
# included the '.exe' suffix.
|
||||
#
|
||||
if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
|
||||
complete -o default -F _git_apply git-apply.exe
|
||||
complete -o default -o nospace -F _git_add git-add.exe
|
||||
complete -o default -o nospace -F _git_apply git-apply.exe
|
||||
complete -o default -o nospace -F _git git.exe
|
||||
complete -o default -F _git_branch git-branch.exe
|
||||
complete -o default -o nospace -F _git_cat_file git-cat-file.exe
|
||||
complete -o default -o nospace -F _git_branch git-branch.exe
|
||||
complete -o default -o nospace -F _git_diff git-diff.exe
|
||||
complete -o default -o nospace -F _git_diff_tree git-diff-tree.exe
|
||||
complete -o default -o nospace -F _git_format_patch git-format-patch.exe
|
||||
complete -o default -o nospace -F _git_log git-log.exe
|
||||
complete -o default -o nospace -F _git_ls_tree git-ls-tree.exe
|
||||
complete -o default -F _git_merge_base git-merge-base.exe
|
||||
complete -o default -F _git_name_rev git-name-rev.exe
|
||||
complete -o default -o nospace -F _git_merge_base git-merge-base.exe
|
||||
complete -o default -o nospace -F _git_name_rev git-name-rev.exe
|
||||
complete -o default -o nospace -F _git_push git-push.exe
|
||||
complete -o default -F _git_config git-config
|
||||
complete -o default -o nospace -F _git_config git-config
|
||||
complete -o default -o nospace -F _git_show git-show.exe
|
||||
complete -o default -o nospace -F _git_log git-show-branch.exe
|
||||
complete -o default -o nospace -F _git_log git-whatchanged.exe
|
||||
|
||||
Reference in New Issue
Block a user