On Sat, Nov 13, 2010 at 01:00:09PM -0400, Joey Hess wrote: > 1. git log completes only branches, but not filenames. I try to do > `git log Foo/Bar<tab>` all the time. > 2. git diff ditto > 3. git anne<tab> doesn't complete git annex, despite git-annex > being in path and that being a valid subcommand here. > 4. git annex add <tab> doesn't complete anything. I think that if zsh is > unfamiliar with the parameters taken by a subcommand, it should > complete filenames.
I'm going to punt on #1 and #2 due to lack of time. Until git gets a convenient way of outputting all the commands and descriptions I think we're stuck hardcoding them. I'm adding annex and submodule (it was claimed that someone is working on submodule completion now). I don't know where annex belongs. Hopefully someone will move it and write completion for it. As for #4 I agree. Index: Completion/Unix/Command/_git =================================================================== RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_git,v retrieving revision 1.131 diff -u -r1.131 _git --- Completion/Unix/Command/_git 24 Jul 2010 19:01:23 -0000 1.131 +++ Completion/Unix/Command/_git 14 Nov 2010 19:22:40 -0000 @@ -205,6 +205,7 @@ 'stage:add file contents to the staging area' 'stash:stash away changes to the working tree' 'status:show working-tree'\''s status' + 'submodule:initialize or update or inspect submodules' 'tag:create tag object signed with GPG' 'verify-tag:check GPG signature of a tag') @@ -290,7 +291,8 @@ 'cvsimport:import a CVS "repository" into a git repository' 'svnimport:import SVN repository into git' 'quiltimport:apply a quilt patchset' - 'svn:bidirectional operation between a single Subversion branch and git') + 'svn:bidirectional operation between a single Subversion branch and git' + 'annex:manage files without tracking content') local -a ancillary_commands ancillary_commands=( @@ -4493,7 +4495,11 @@ __git_aliases_and_commands else curcontext="${curcontext%:*:*}:git-$words[1]:" - _call_function ret _git-$words[1] + if (( $+functions[_git-$words[1]] )); then + _call_function ret _git-$words[1] + else + _files + fi return ret fi ;; -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org