gpt4 book ai didi

zsh - 为多个命令定义 ZSH 补全函数 (compdef)

转载 作者:行者123 更新时间:2023-12-04 02:05:13 26 4
gpt4 key购买 nike

我有一个名为

的 ZSH 完成脚本
#compdef kubens
_arguments "1: :(- $(kubectl get namespaces -o=jsonpath='{range .items[*].metadata.name}{@}{"\n"}{end}'))"

这为 kubens 命令提供了补全。但是,如果用户提供了特定的安装参数,该程序将与 kns 名称链接,因此我尝试使用相同的 #compdef 为这两个命令提供完成。

我该如何实现?

最佳答案

我们可以为 #compdef 行使用 cmd=service 形式:

#compdef kubens kns=kubens

尽管我们可以在 #compdef 行中使用多个名称,但是当 cmd 的行为方式与 service 相同:

#compdef name ... [ -{p|P} pattern ... [ -N name ... ] ]

The file will be made autoloadable and the function defined in it will be called when completing names, each of which is either the name of a command whose arguments are to be completed ...
...
Each name may also be of the form ‘cmd=service’. When completing the command cmd, the function typically behaves as if the command (or special context) service was being completed instead.

-- zshcompsys(1): Completion System, INITIALIZATION, Autoloaded files, #compdef

关于zsh - 为多个命令定义 ZSH 补全函数 (compdef),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44015768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com