diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_git | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index be61bd073..b99eee7c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-03-09 Daniel Shahaf <d.s@daniel.shahaf.name> + + * 38120: Completion/Unix/Command/_git: Document the internal + helper function __git_ignore_line. + 2016-03-08 Peter Stephenson <p.stephenson@samsung.com> * 38114: Src/exec.c: In substitutions involving subshells, disable diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index 7a459f1fb..2dd9a8028 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -5038,6 +5038,16 @@ __git_describe_commit () { # Completion Wrappers +# '__git_ignore_line $callee "${callee_args[@]}" "${callee_compadd_args[@]}"' +# invokes '$callee "${callee_args[@]}" "${callee_compadd_args[@]}"' with +# callee_compadd_args modified to exclude positional parameters to the completed +# command from being completed. This causes 'git add foo <TAB>' not to offer +# 'foo' again. +# +# Note: This function can't be used to wrap bare 'compadd' calls that use a '--' +# argument terminator. It can wrap functions of the form +# f() { shift $N; compadd "$@" -a - mymatches } +# . (( $+functions[__git_ignore_line] )) || __git_ignore_line () { declare -a ignored |