zsh:完成`git'之类的`mgit`

时间:2019-07-09 07:44:01

标签: zsh zsh-completion

我已经编写了一个名为mgit的小Shell脚本,该脚本在多个存储库中执行相同的git命令。我想告诉zsh,mgit的参数应该像git的参数一样完成。

例如,我可以输入git st并点击Tab键,这将完成git status。因此,我想输入mgit st并点击Tab键,并将其完成到mgit status

因此,我以自己非常漂亮的方式键入了compdef _git mgit,然后键入了mgit st,然后键入了tab,这就是我得到的:

foo% mgit st_git:12: command not found: __mgit_main
mgit

因此,我在/usr/local/share/zsh/functions/_git中搜索了main一词,但没有阐明。

我想说明mgit status已经按照我的意愿行事了,这个问题仅与完成有关。

我想进一步澄清一下,我知道我的方法有时会导致“错误的”完成,例如mgit checkout feature/<TAB>将完成当前存储库中的分支名称,而不是执行复杂的操作,例如计算多个存储库中所有分支名称的交集。我对此很好。

在MacOS上运行zsh 5.7.1,并通过Homebrew安装。

0 个答案:

没有答案