很多很多的子命令
Commands, Lots of Commands
创建子命令层级
我们已经提到过子命令应该在上级命令的 With(cb)
代码块中编写。通过
如此的模式,你可以创建大量的子命令,它们将构成子命令的树状层级体系。
用 cmdr 内建选项 ~~tree
来运行它,显示全部的命令层级如下:
其结果像这样,
说明
环境变量 FORCE_DEFAULT_ACTION=1
促使 cmdr 略过你的 OnAction
转而执行一个内建的响应函数,该函数显示命中的命令(ACTIONS)以及选项参数清单。
这对于调试命令行参数会很有用。
像 jump
命令这样的被标记了废弃版本(例如 .Deprecated("v1.2.3")
)的命令,在帮助屏显示时会有删除线穿过文字,同时文字也被暗淡显示。
如果一条命令被标记为隐藏(例如 .Hidden(true)
),将会暗淡显示(如果在命令行给出了多于一个 --verbose
的话),或者不显示(正常情况下)。
如果命令是被标记为厂商内置的(通过 .Hidden(true,true)
),则必须指定至少 3 次 verbose(通过 -vvv
),才会被显示出来。
cmdr 也提供一些内置的命令和选项,其中一部分处于隐藏状态或者被标记为厂商内置的,可以通过 -vvv
来查阅它们。
同时,像 ~~tree
和 ~~debug
这样的特殊选项(被称为 TILDE 选项)也被赋予特殊意义。
其中 ~~tree
会显示命令树结构,而 ~~debug
则会打印出内置的 Store 状态。
注意 ~~debug
和正常的选项 --debug
/-D
是不同的。
额外的话题
How is this guide?
Edit on GitHub
Last updated on