如何完成 -N 数字参数?

如何完成 -N 数字参数?

我正在为 编写自动完成脚本supervisorctl

是否可以完成数字参数-6,例如-999等?

目前我的调用_arguments看起来像这样,但不起作用:

_arguments \
  '--[last N bytes of process stdout]:number'

第一个破折号是要匹配的模式,第二个破折号表示参数必须位于同一个单词中。但是显然这与正常的双破折号参数冲突。

编辑:也许这会更好地解释我想做的事情。以下说明了我希望在 cli 中发生的情况:

> supervisorctl tail -<TAB>
 -- option --
-     -- last N bytes of process stdout
-f    -- Continuous tail of named process stdout

以上是我的脚本中当前发生的情况。我选择选项列表中的第一项,然后得到:

> supervisorctl tail - <CURSOR>

我相信尾随-会将光标留在破折号附近。如何在参数定义中对其进行编码?

您可以在以下位置找到正在进行的工作:

https://github.com/mafrosis/zsh-completions/blob/supervisorctl/src/_supervisorctl

相关内容