|
|
|
|
@ -1,5 +1,3 @@ |
|
|
|
|
#!bash |
|
|
|
|
# |
|
|
|
|
# bash/zsh completion support for core Git. |
|
|
|
|
# |
|
|
|
|
# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org> |
|
|
|
|
@ -180,9 +178,9 @@ _get_comp_words_by_ref () |
|
|
|
|
} |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
__gitcompadd () |
|
|
|
|
__gitcompappend () |
|
|
|
|
{ |
|
|
|
|
local i=0 |
|
|
|
|
local i=${#COMPREPLY[@]} |
|
|
|
|
for x in $1; do |
|
|
|
|
if [[ "$x" == "$3"* ]]; then |
|
|
|
|
COMPREPLY[i++]="$2$x$4" |
|
|
|
|
@ -190,6 +188,12 @@ __gitcompadd () |
|
|
|
|
done |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
__gitcompadd () |
|
|
|
|
{ |
|
|
|
|
COMPREPLY=() |
|
|
|
|
__gitcompappend "$@" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Generates completion reply, appending a space to possible completion words, |
|
|
|
|
# if necessary. |
|
|
|
|
# It accepts 1 to 4 arguments: |
|
|
|
|
@ -220,6 +224,14 @@ __gitcomp () |
|
|
|
|
esac |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Variation of __gitcomp_nl () that appends to the existing list of |
|
|
|
|
# completion candidates, COMPREPLY. |
|
|
|
|
__gitcomp_nl_append () |
|
|
|
|
{ |
|
|
|
|
local IFS=$'\n' |
|
|
|
|
__gitcompappend "$1" "${2-}" "${3-$cur}" "${4- }" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Generates completion reply from newline-separated possible completion words |
|
|
|
|
# by appending a space to all of them. |
|
|
|
|
# It accepts 1 to 4 arguments: |
|
|
|
|
@ -231,8 +243,8 @@ __gitcomp () |
|
|
|
|
# appended. |
|
|
|
|
__gitcomp_nl () |
|
|
|
|
{ |
|
|
|
|
local IFS=$'\n' |
|
|
|
|
__gitcompadd "$1" "${2-}" "${3-$cur}" "${4- }" |
|
|
|
|
COMPREPLY=() |
|
|
|
|
__gitcomp_nl_append "$@" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Generates completion reply with compgen from newline-separated possible |
|
|
|
|
@ -673,7 +685,6 @@ __git_list_porcelain_commands () |
|
|
|
|
index-pack) : plumbing;; |
|
|
|
|
init-db) : deprecated;; |
|
|
|
|
local-fetch) : plumbing;; |
|
|
|
|
lost-found) : infrequent;; |
|
|
|
|
ls-files) : plumbing;; |
|
|
|
|
ls-remote) : plumbing;; |
|
|
|
|
ls-tree) : plumbing;; |
|
|
|
|
@ -687,14 +698,12 @@ __git_list_porcelain_commands () |
|
|
|
|
pack-refs) : plumbing;; |
|
|
|
|
parse-remote) : plumbing;; |
|
|
|
|
patch-id) : plumbing;; |
|
|
|
|
peek-remote) : plumbing;; |
|
|
|
|
prune) : plumbing;; |
|
|
|
|
prune-packed) : plumbing;; |
|
|
|
|
quiltimport) : import;; |
|
|
|
|
read-tree) : plumbing;; |
|
|
|
|
receive-pack) : plumbing;; |
|
|
|
|
remote-*) : transport;; |
|
|
|
|
repo-config) : deprecated;; |
|
|
|
|
rerere) : plumbing;; |
|
|
|
|
rev-list) : plumbing;; |
|
|
|
|
rev-parse) : plumbing;; |
|
|
|
|
@ -707,7 +716,6 @@ __git_list_porcelain_commands () |
|
|
|
|
ssh-*) : transport;; |
|
|
|
|
stripspace) : plumbing;; |
|
|
|
|
symbolic-ref) : plumbing;; |
|
|
|
|
tar-tree) : deprecated;; |
|
|
|
|
unpack-file) : plumbing;; |
|
|
|
|
unpack-objects) : plumbing;; |
|
|
|
|
update-index) : plumbing;; |
|
|
|
|
@ -901,7 +909,7 @@ _git_add () |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
# XXX should we check for --update and --all options ? |
|
|
|
|
__git_complete_index_file "--others --modified" |
|
|
|
|
__git_complete_index_file "--others --modified --directory --no-empty-directory" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_git_archive () |
|
|
|
|
@ -1063,7 +1071,7 @@ _git_clean () |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
# XXX should we check for -x option ? |
|
|
|
|
__git_complete_index_file "--others" |
|
|
|
|
__git_complete_index_file "--others --directory" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_git_clone () |
|
|
|
|
@ -1188,7 +1196,7 @@ _git_diff () |
|
|
|
|
__git_complete_revlist_file |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
__git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff |
|
|
|
|
__git_mergetools_common="diffuse diffmerge ecmerge emerge kdiff3 meld opendiff |
|
|
|
|
tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3 codecompare |
|
|
|
|
" |
|
|
|
|
|
|
|
|
|
@ -1491,6 +1499,12 @@ _git_mergetool () |
|
|
|
|
|
|
|
|
|
_git_merge_base () |
|
|
|
|
{ |
|
|
|
|
case "$cur" in |
|
|
|
|
--*) |
|
|
|
|
__gitcomp "--octopus --independent --is-ancestor --fork-point" |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
__gitcomp_nl "$(__git_refs)" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1623,7 +1637,7 @@ _git_rebase () |
|
|
|
|
--preserve-merges --stat --no-stat |
|
|
|
|
--committer-date-is-author-date --ignore-date |
|
|
|
|
--ignore-whitespace --whitespace= |
|
|
|
|
--autosquash |
|
|
|
|
--autosquash --fork-point --no-fork-point |
|
|
|
|
" |
|
|
|
|
|
|
|
|
|
return |
|
|
|
|
@ -1833,6 +1847,7 @@ _git_config () |
|
|
|
|
branch.*) |
|
|
|
|
local pfx="${cur%.*}." cur_="${cur#*.}" |
|
|
|
|
__gitcomp_nl "$(__git_heads)" "$pfx" "$cur_" "." |
|
|
|
|
__gitcomp_nl_append $'autosetupmerge\nautosetuprebase\n' "$pfx" "$cur_" |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
guitool.*.*) |
|
|
|
|
@ -1875,6 +1890,7 @@ _git_config () |
|
|
|
|
remote.*) |
|
|
|
|
local pfx="${cur%.*}." cur_="${cur#*.}" |
|
|
|
|
__gitcomp_nl "$(__git_remotes)" "$pfx" "$cur_" "." |
|
|
|
|
__gitcomp_nl_append "pushdefault" "$pfx" "$cur_" |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
url.*.*) |
|
|
|
|
@ -1997,6 +2013,7 @@ _git_config () |
|
|
|
|
fetch.unpackLimit |
|
|
|
|
format.attach |
|
|
|
|
format.cc |
|
|
|
|
format.coverLetter |
|
|
|
|
format.headers |
|
|
|
|
format.numbered |
|
|
|
|
format.pretty |
|
|
|
|
@ -2580,7 +2597,7 @@ if [[ -n ${ZSH_VERSION-} ]]; then |
|
|
|
|
--*=*|*.) ;; |
|
|
|
|
*) c="$c " ;; |
|
|
|
|
esac |
|
|
|
|
array[$#array+1]="$c" |
|
|
|
|
array[${#array[@]}+1]="$c" |
|
|
|
|
done |
|
|
|
|
compset -P '*[=:]' |
|
|
|
|
compadd -Q -S '' -p "${2-}" -a -- array && _ret=0 |
|
|
|
|
|