【发布时间】:2020-04-27 16:22:13
【问题描述】:
我希望能够使用变量的值(或者更好的是,function(arg) 的返回)作为使用 structopt 定义的 CLI 程序的 about 字符串。最终目标是一个完全本地化的 CLI,它可以检测系统语言或 ENV 变量并加载本地化的字符串,这些字符串会被烘焙到 --help 消息等中。
默认情况下它使用文档注释:
/// My about string
#[derive(StructOpt)]
struct Cli {}
我发现我可以传递手动输入的字符串:
#[derive(StructOpt)]
#[structopt(about = "My about string")]
struct Cli {}
这更近了一步,但我真正想做的是传递一个变量:
let about: &str = "My about string";
#[derive(StructOpt)]
#[structopt(about = var!(about))]
struct Cli {}
最后一个块是伪代码,因为我不知道使用什么语法来实现这一点。最后,我需要的不仅仅是一个字符串切片,但我认为这是一个开始的地方。
如何将这样的值传递给 structopt?我是否需要以某种方式访问底层的 clap 接口?
【问题讨论】:
标签: rust localization clap structopt