mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-03 10:21:46 +02:00
unposted: Completion/Unix/Command/_git: Update git-add completion to not
complete already given file arguments and also to not list file completions if an option is being completed.
This commit is contained in:
parent
d37eda52f3
commit
3eb0846645
2 changed files with 15 additions and 8 deletions
|
@ -9,6 +9,10 @@
|
||||||
* unposted: Completion/Unix/Command/_git: Fix bug in git-add completion
|
* unposted: Completion/Unix/Command/_git: Fix bug in git-add completion
|
||||||
that prevented -f option from being used correctly.
|
that prevented -f option from being used correctly.
|
||||||
|
|
||||||
|
* unposted: Completion/Unix/Command/_git: Update git-add completion to
|
||||||
|
not complete already given file arguments and also to not list file
|
||||||
|
completions if an option is being completed.
|
||||||
|
|
||||||
2011-07-19 Peter Stephenson <pws@csr.com>
|
2011-07-19 Peter Stephenson <pws@csr.com>
|
||||||
|
|
||||||
* 29555: Src/exec.c: fix problem that shell failed to use file
|
* 29555: Src/exec.c: fix problem that shell failed to use file
|
||||||
|
@ -15131,5 +15135,5 @@
|
||||||
|
|
||||||
*****************************************************
|
*****************************************************
|
||||||
* This is used by the shell to define $ZSH_PATCHLEVEL
|
* This is used by the shell to define $ZSH_PATCHLEVEL
|
||||||
* $Revision: 1.5401 $
|
* $Revision: 1.5402 $
|
||||||
*****************************************************
|
*****************************************************
|
||||||
|
|
|
@ -57,21 +57,20 @@ _git-add () {
|
||||||
'--refresh[do not add files, but refresh their stat() info in index]' \
|
'--refresh[do not add files, but refresh their stat() info in index]' \
|
||||||
'--ignore-errors[continue adding if an error occurs]' \
|
'--ignore-errors[continue adding if an error occurs]' \
|
||||||
$ignore_missing \
|
$ignore_missing \
|
||||||
'*:: :->file' && ret=0
|
'*:: :->file' && return
|
||||||
|
|
||||||
case $state in
|
case $state in
|
||||||
(file)
|
(file)
|
||||||
# TODO: Use __git_ignore_line_inside_arguments.
|
|
||||||
declare -a ignored_files_alternatives
|
declare -a ignored_files_alternatives
|
||||||
if [[ -n ${opt_args[(I)-f|--force]} ]]; then
|
if [[ -n ${opt_args[(I)-f|--force]} ]]; then
|
||||||
ignored_files_alternatives=(
|
ignored_files_alternatives=(
|
||||||
'ignored-modified-files:ignored modified files:__git_modified_files --ignored'
|
'ignored-modified-files:ignored modified files:__git_ignore_line_inside_arguments __git_modified_files --ignored'
|
||||||
'ignored-other-files:ignored other files:__git_other_files --ignored')
|
'ignored-other-files:ignored other files:__git_ignore_line_inside_arguments __git_other_files --ignored')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_alternative \
|
_alternative \
|
||||||
'modified-files::__git_modified_files' \
|
'modified-files::__git_ignore_line_inside_arguments __git_modified_files' \
|
||||||
'other-files::__git_other_files' \
|
'other-files::__git_ignore_line_inside_arguments __git_other_files' \
|
||||||
$ignored_files_alternatives && ret=0
|
$ignored_files_alternatives && ret=0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -4524,7 +4523,11 @@ __git_ignore_line () {
|
||||||
|
|
||||||
(( $+functions[__git_ignore_line_inside_arguments] )) ||
|
(( $+functions[__git_ignore_line_inside_arguments] )) ||
|
||||||
__git_ignore_line_inside_arguments () {
|
__git_ignore_line_inside_arguments () {
|
||||||
__git_ignore_line ${*[-1]} ${*[1,-2]}
|
declare -a compadd_opts
|
||||||
|
|
||||||
|
zparseopts -D -E -a compadd_opts V: J: 1 2 n f X: M: P: S: r: R: q F:
|
||||||
|
|
||||||
|
__git_ignore_line $* $compadd_opts
|
||||||
}
|
}
|
||||||
|
|
||||||
# Common Argument Types
|
# Common Argument Types
|
||||||
|
|
Loading…
Reference in a new issue