自动生成 ZSH/Bash 补全文件

Lee*_*tal 3 bash zsh autocomplete

是否存在可以为 bash 和 zsh 自动生成完成文件的工具?

我希望能够为我的补全指定一个真实来源,而不是为 bash 和 zsh 维护一个单独的补全文件。

Gil*_*il' 5

要完成短选项和长选项以及文件名,请确保程序生成与--helpGNU 工具格式相同的用法说明。然后设置它以完成:

  • complete -F _longopt myprogram 在 bash
  • compdef _gnu_generic myprogram 在 zsh

如果您想要更强大的功能,请定义 bash 完成并使用 zsh 的 bash 兼容模式。用户必须调用bashcompinit他们的.zshrc,然后他们才能调用complete -F _myprogram_bash_complete myprogramzsh 和 bash。Zsh 仅模拟 bash 的一个子集,因此请测试您的完成功能以确保它不需要 zsh 无法模拟的功能。