如何解决带有嵌套规则的“ docopts style”用法消息?
我之所以发布此问题,是因为我不确定使用嵌套的docopt约定为cli工具创建有意义的用法消息是否对熟悉docopt用法消息的用户有意义。在这方面,我想澄清一下。
某些历史记录:我决定与docopt conventions一起使用yargs
编写的node
动力cli工具创建使用消息。我不想像yargs
和docopts
那样将使用情况消息解析到程序本身中。相反,我只是想使用使用情况消息来帮助用户正确使用该工具。 docopt
约定的基础可以从docopts文档中总结出来:
- 使用方括号“ []”,括号“()”,管道“ |”和省略号“ ...”描述可选,必需,互斥和重复的元素。这些元素一起形成有效的使用模式,每个模式都以程序的名称开头。
我在cli工具中使用“ seed”命令的规则如下:
- 该命令可以在没有任何选项的情况下运行
- 如果命令与
-i
,--interactive
,--cf
或--configFile
一起运行,则除此以外,不能使用其他选项。此外,--cf
和--configFile
选项具有必需的'file'参数。 - 如果该命令未与
-i
,--interactive
,--cf <file>
或--configFile <file>
一起运行,则任何其他选项都可以组合使用。
'mycli.js seed [ ( -i | --interactive | --cf <file> | --configFile <file>) ) | [options] ]'
这有意义吗?还是有另一种方法可以更准确或更清楚地描述上述规则?除了嵌套docopt
规则并使用[options]
来描述用法字符串中未提及的所有 other 选项之外,我无法找到一种更好的方法。有很多选项,很多都有长名称和别名,所以我不想明确提及它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。