< 返回版块

nianfouyi 发表于 2025-03-26 22:48

大家好,有一个clap库使用请教

#[derive(Parser)]
#[clap(author, about, long_about = None)]
struct Cli {
    #[clap(short, long, value_parser, value_name = "DIRECTORY")]
    directory: Option<PathBuf>,

    #[clap(
        short,
        long,
        visible_short_aliases = ['f'], // -f is used by clash, it is a compatibility option
        value_parser,
        value_name = "FILE",
        default_value = "config.yaml",
        help = "Specify configuration file"
    )]
    config: PathBuf,
    #[clap(
        short = 't',
        long,
        value_parser,
        default_value = "false",
        help = "Test configuration and exit"
    )]
    test_config: bool,
    #[clap(
        short,
        long,
        visible_short_aliases = ['V'],
        value_parser,
        default_value = "false",
        help = "Print clash-rs version and exit"
    )]
    version: bool,
    #[clap(short, long, help = "Additinally log to file")]
    log_file: Option<String>,

    #[clap(
        long,
        value_parser,
        default_value = "false",
        help = "Enable crash report to help improve clash"
    )]
    help_improve: bool,
}

这段代码是来自clash-rs的代码,我在clap官网没有查找到"#[clap]" 这个属性宏的用法,特来请教哈大家,或者可能是在官网哪里我没有发现,希望大家能指点我一下,感谢

评论区

写评论
Bai-Jinlin 2025-03-27 08:58

这是老版本的clap的用法,https://docs.rs/clap/3.2.23/clap/index.html 下次先看看依赖的版本,然后去找对应的文档。

1 共 1 条评论, 1 页