Usage如果在 Go 中的 cobra 命令上调用帮助函数,我希望能够设置该行以指定要传递的参数 NEEDS。
这是常规帮助标志输出的内容:
Cancel the order specified by the order id by submitting a cancel order.
Optionally, an account ID may be supplied as well for extra measure.
Usage:
gbutil orders cancel [flags]
Flags:
-a, --account_id string the account id that the order belongs to
-h, --help help for cancel
Global Flags:
--config string config file (default is $HOME/.gbutil.yaml)
我想:
Cancel the order specified by the order id by submitting a cancel order.
Optionally, an account ID may be supplied as well for extra measure.
Usage:
gbutil orders cancel <order_id> [flags]
Flags:
-a, --account_id string the account id that the order belongs to
-h, --help help for cancel
Global Flags:
--config string config file (default is $HOME/.gbutil.yaml)
我试过SetUsageTemplate在init()函数中使用,但它删除了部分标志:
orderscancelCmd.SetUsageTemplate(strings.Replace(orderscancelCmd.UsageString(), "gbutil orders cancel [flags]", "gbutil orders cancel <order_id> [flags]", 1))
这导致:
Cancel the order specified by the order id by submitting a cancel order.
Optionally, an account ID may be supplied as well for extra measure.
Usage:
gbutil orders cancel <order_id> [flags]
Flags:
-a, --account_id string the account id that the order belongs to
我在哪里丢失了-h标志和有关的附加信息Global Flags。
如果他们不通过以下方式提供 arg,我可以让它工作:
if err := cobra.ExactArgs(1)(cmd, args); err != nil {
fmt.Println(strings.Replace(cmd.UsageString(), "gbutil orders cancel [flags]", "gbutil orders cancel <order_id> [flags]", 1))
return
}
但随后-h标志仍然输出错误的用法行。
有没有办法做到这一点?提前致谢!
青春有我
相关分类