#命令行 #应用程序 #解析器 #命令行工具 #验证 #简短 #选项

rusty-whsp

一个专为处理命令行应用程序配置解析而设计的 Rust 库。

1 个不稳定版本

0.1.6 2024 年 8 月 16 日
0.1.5 2024 年 8 月 16 日

16#简短

Download history 195/week @ 2024-08-11

每月 195 次下载

MIT 许可证

14KB
233

rusty-whsp

Rust Crates.io Documentation License: MIT

一个为 Rust 命令行应用程序提供灵活和类型安全的配置解析库。

目录

功能

  • 🚀 易于使用的 API 用于定义配置选项
  • 🔢 支持字符串、数字和布尔选项类型
  • 📚 单个和多个值选项
  • ✅ 自动输入验证
  • 🌍 从环境变量设置默认值
  • 🔤 支持短和长命令行选项

安装

将此添加到您的 Cargo.toml

[dependencies]
rusty-whsp = "0.1.6"

快速入门

以下是一个简单的示例以供您开始

use rusty_whsp::{Whsp, WhspOptions, ConfigOptionBase, ValidValue, Validator};
use std::collections::HashMap;

fn main() {
    let mut whsp = Whsp {
        config_set: HashMap::new(),
        short_options: HashMap::new(),
        options: WhspOptions {
            allow_positionals: true,
            env_prefix: Some("MYAPP".to_string()),
            usage: None,
        },
    };

    whsp.opt(HashMap::from([(
        "config".to_string(),
        ConfigOptionBase {
            config_type: "string".to_string(),
            short: Some("c".to_string()),
            default: None,
            description: Some("Configuration file path".to_string()),
            validate: Some(Validator::None),
            multiple: false,
        },
    )]));

    let args: Vec<String> = std::env::args().collect();
    let parsed_values = whsp.parse_raw(args[1..].to_vec());

    println!("Parsed values: {:?}", parsed_values);
}

文档

有关详细文档,请参阅 文档 文件。

示例

查看 示例 目录以获取更多使用示例。

贡献

欢迎贡献!请随时提交 Pull Request。

  1. 分叉仓库
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m '添加一些 AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。


由 rusty-libraries 用 ❤️ 制作

无运行时依赖