自动生成ZSH/Bash补全文件

自动生成ZSH/Bash补全文件

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

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

答案1

要完成短选项和长选项以及文件名,请确保程序生成与--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 不模拟的功能。

相关内容