зеркало из https://github.com/microsoft/git.git
Remove more sed invocations from within bash completion.
This change removes between 1 and 4 sed invocations per completion entered by the user. In the case of cat-file the 4 invocations per completion can take a while on Cygwin; running these replacements directly within bash saves some time for the end user. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
e5d5b21fdf
Коммит
a79c6551a3
|
@ -83,15 +83,15 @@ __git_remotes ()
|
|||
|
||||
__git_complete_file ()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
local pfx ls ref cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
case "$cur" in
|
||||
?*:*)
|
||||
local pfx ls ref="$(echo "$cur" | sed 's,:.*$,,')"
|
||||
cur="$(echo "$cur" | sed 's,^.*:,,')"
|
||||
ref="${cur%%:*}"
|
||||
cur="${cur#*:}"
|
||||
case "$cur" in
|
||||
?*/*)
|
||||
pfx="$(echo "$cur" | sed 's,/[^/]*$,,')"
|
||||
cur="$(echo "$cur" | sed 's,^.*/,,')"
|
||||
pfx="${cur%/*}"
|
||||
cur="${cur##*/}"
|
||||
ls="$ref:$pfx"
|
||||
pfx="$pfx/"
|
||||
;;
|
||||
|
@ -193,7 +193,7 @@ _git_fetch ()
|
|||
*)
|
||||
case "$cur" in
|
||||
*:*)
|
||||
cur=$(echo "$cur" | sed 's/^.*://')
|
||||
cur="${cur#*:}"
|
||||
COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
|
||||
;;
|
||||
*)
|
||||
|
@ -287,7 +287,7 @@ _git_push ()
|
|||
git-push) remote="${COMP_WORDS[1]}" ;;
|
||||
git) remote="${COMP_WORDS[2]}" ;;
|
||||
esac
|
||||
cur=$(echo "$cur" | sed 's/^.*://')
|
||||
cur="${cur#*:}"
|
||||
COMPREPLY=($(compgen -W "$(__git_refs "$remote")" -- "$cur"))
|
||||
;;
|
||||
*)
|
||||
|
|
Загрузка…
Ссылка в новой задаче