我希望能够使用变量的值(或者更好的是 a 的返回function(arg)
)作为使用 structopt 定义的 CLI 程序的 about 字符串。最终目标是一个完全本地化的 CLI,它可以检测系统语言或 ENV var,并加载本地化的字符串,这些字符串会被烘焙到--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 接口?