[PATCH] git-completion.zsh: define __gitcomp_file compatibility function
Commit fea16b47b60 (Fri Jan 11 19:48:43 2013, Manlio Perillo, git-completion.bash: add support for path completion), introduced a new __gitcomp_file function that uses the bash builtin compgen. The function was redefined for ZSH in the deprecated section of git-completion.bash, but not in the new git-completion.zsh script. As a result, users of git-completion.zsh trying to complete git add fotab get an error: git add fo__gitcomp_file:8: command not found: compgen This patch adds the redefinition and removes the error. Signed-off-by: Matthieu Moy matthieu@imag.fr --- Felipe, you know ZSH completion much better than me. Could you turn this into a real patch? No response from Felipe, so I'm trying my own patch. Compared to the snippet I already sent, I added the -f option to compadd, which was there in the __gitcomp_file function defined in the deprecated ZSH compatibility section of the bash script, and gives the ZSH equivalent for compopt -o filenames. This fixes an annoying regression for ZSH users, so it may deserve to be in the future 1.8.2. contrib/completion/git-completion.zsh | 9 + 1 file changed, 9 insertions(+) diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh index 4577502..cf8116d 100644 --- a/contrib/completion/git-completion.zsh +++ b/contrib/completion/git-completion.zsh @@ -60,6 +60,15 @@ __gitcomp_nl () compadd -Q -S ${4- } -p ${2-} -- ${=1} _ret=0 } +__gitcomp_file () +{ + emulate -L zsh + + local IFS=$'\n' + compset -P '*[=:]' + compadd -Q -p ${2-} -f -- ${=1} _ret=0 +} + _git () { local _ret=1 -- 1.8.1.3.572.g35e1b60 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git-completion.zsh: define __gitcomp_file compatibility function
Matthieu Moy matthieu@imag.fr writes: Commit fea16b47b60 (Fri Jan 11 19:48:43 2013, Manlio Perillo, git-completion.bash: add support for path completion), introduced a new __gitcomp_file function that uses the bash builtin compgen. The function was redefined for ZSH in the deprecated section of git-completion.bash, but not in the new git-completion.zsh script. As a result, users of git-completion.zsh trying to complete git add fotab get an error: git add fo__gitcomp_file:8: command not found: compgen This patch adds the redefinition and removes the error. Signed-off-by: Matthieu Moy matthieu@imag.fr --- Felipe, you know ZSH completion much better than me. Could you turn this into a real patch? No response from Felipe, so I'm trying my own patch. Compared to the snippet I already sent, I added the -f option to compadd, which was there in the __gitcomp_file function defined in the deprecated ZSH compatibility section of the bash script, and gives the ZSH equivalent for compopt -o filenames. This fixes an annoying regression for ZSH users, so it may deserve to be in the future 1.8.2. Thanks, and I agree a fix to this issue should be fast-tracked. contrib/completion/git-completion.zsh | 9 + 1 file changed, 9 insertions(+) diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh index 4577502..cf8116d 100644 --- a/contrib/completion/git-completion.zsh +++ b/contrib/completion/git-completion.zsh @@ -60,6 +60,15 @@ __gitcomp_nl () compadd -Q -S ${4- } -p ${2-} -- ${=1} _ret=0 } +__gitcomp_file () +{ + emulate -L zsh + + local IFS=$'\n' + compset -P '*[=:]' + compadd -Q -p ${2-} -f -- ${=1} _ret=0 +} + _git () { local _ret=1 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html