Re: [PATCH v5] git-completion.bash: add support for path completion
- From
Manlio Perillo <manlio.perillo@gmail.com>
- Date
- Jan 12, 2013, 12:53 UTC
- Message-ID
- <50F15CB9.5090603@gmail.com>
- In-Reply-To
- <1357930123-26310-1-git-send-email-manlio.perillo@gmail.com>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Il 11/01/2013 19:48, Manlio Perillo ha scritto:
Show 24 quoted lines
> The git-completion.bash script did not implemented full, git aware,
> support to complete paths, for git commands that operate on files within
> the current working directory or the index.
> [...]
>
> +# Try to count non option arguments passed on the command line for the
> +# specified git command.
> +# When options are used, it is necessary to use the special -- option to
> +# tell the implementation were non option arguments begin.
> +# XXX this can not be improved, since options can appear everywhere, as
> +# an example:
> +# git mv x -n y
> +#
> +# __git_count_arguments requires 1 argument: the git command executed.
> +__git_count_arguments ()
> +{
> + local word i c=0
> +
> + # Skip "git" (first argument)
> + for ((i=1; i < ${#words[@]}; i++)); do
> + word="${words[i]}"
> +
> + case "$word" in
> + --)Sorry, I have incorrectly (again) indented the case labels. I have now configured my editor to correctly indent this.
> + # Good; we can assume that the following are only non > + # option arguments. > + ((c = 0)) > + ;;
Here I was thinking to do something like this (not tested):
-*)
if [ -n ${2-} ]; then
# Assume specified git command only
# accepts simple options
# (without arguments)
((c = 0))Since git mv only accepts simple options, this will make the use of '--' not required.
Note that I'm assuming the single '-' character is used as a non-option argument; not sure this is the case of Git.
> [...]
Regards Manlio -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAlDxXLkACgkQscQJ24LbaUR+QQCaA4WZP5h5lktXJqSB7c494fAY B6IAoIRWyIzBq29S7+l+TfRjbyp19HNL =JRpR -----END PGP SIGNATURE-----