Zac*_*gle 5 git zsh completion
我有一堆工具可以将所有参数传递给内部调用,例如“git log”。一个简单的例子可能如下所示:
#!/usr/bin/env zsh
git log --since='1 year ago' "$@"
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过执行以下操作来获得完成别名:
compdef myscript=grep
Run Code Online (Sandbox Code Playgroud)
但是,尚不清楚如何对 等子命令执行此操作git log。有没有办法做到这一点?
小智 -1
有一个解决方案可以使用别名,但不能使用函数或脚本。就你而言,使用git log就足够了。
创建别名。
mygitlog="git log --since='1 year ago'"
在.zshrc中启用compinit以完成 zsh 。
autoload -Uz compinit && compinit
禁用completealiases选项,这可以防止别名在尝试完成之前被内部替换。
unset completealiases
mygitlog在 Git 存储库中输入并按两次后Tab,zsh 会建议您去年所做的提交和标签。