提交 3df6499c 编写于 作者: J Junio C Hamano

Merge branch 'sp/maint-bash-completion-optim'

* sp/maint-bash-completion-optim:
  bash completion: Resolve git show ref:path<tab> losing ref: portion
  bash completion: Append space after file names have been completed
...@@ -45,6 +45,11 @@ ...@@ -45,6 +45,11 @@
# git@vger.kernel.org # git@vger.kernel.org
# #
case "$COMP_WORDBREAKS" in
*:*) : great ;;
*) COMP_WORDBREAKS="$COMP_WORDBREAKS:"
esac
__gitdir () __gitdir ()
{ {
if [ -z "$1" ]; then if [ -z "$1" ]; then
...@@ -294,9 +299,23 @@ __git_complete_file () ...@@ -294,9 +299,23 @@ __git_complete_file ()
ls="$ref" ls="$ref"
;; ;;
esac esac
case "$COMP_WORDBREAKS" in
*:*) : great ;;
*) pfx="$ref:$pfx" ;;
esac
local IFS=$'\n'
COMPREPLY=($(compgen -P "$pfx" \ COMPREPLY=($(compgen -P "$pfx" \
-W "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \ -W "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \
| sed '/^100... blob /s,^.* ,, | sed '/^100... blob /{
s,^.* ,,
s,$, ,
}
/^120000 blob /{
s,^.* ,,
s,$, ,
}
/^040000 tree /{ /^040000 tree /{
s,^.* ,, s,^.* ,,
s,$,/, s,$,/,
...@@ -692,7 +711,12 @@ _git_fetch () ...@@ -692,7 +711,12 @@ _git_fetch ()
*) *)
case "$cur" in case "$cur" in
*:*) *:*)
__gitcomp "$(__git_refs)" "" "${cur#*:}" local pfx=""
case "$COMP_WORDBREAKS" in
*:*) : great ;;
*) pfx="${cur%%:*}:" ;;
esac
__gitcomp "$(__git_refs)" "$pfx" "${cur#*:}"
;; ;;
*) *)
local remote local remote
...@@ -868,7 +892,14 @@ _git_push () ...@@ -868,7 +892,14 @@ _git_push ()
git-push) remote="${COMP_WORDS[1]}" ;; git-push) remote="${COMP_WORDS[1]}" ;;
git) remote="${COMP_WORDS[2]}" ;; git) remote="${COMP_WORDS[2]}" ;;
esac esac
__gitcomp "$(__git_refs "$remote")" "" "${cur#*:}"
local pfx=""
case "$COMP_WORDBREAKS" in
*:*) : great ;;
*) pfx="${cur%%:*}:" ;;
esac
__gitcomp "$(__git_refs "$remote")" "$pfx" "${cur#*:}"
;; ;;
+*) +*)
__gitcomp "$(__git_refs)" + "${cur#+}" __gitcomp "$(__git_refs)" + "${cur#+}"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册