2 个不稳定版本

0.2.0 2023 年 8 月 4 日
0.1.0 2023 年 7 月 8 日

#835命令行界面

每月 23 次下载
用于 3 crates

MIT 许可证

18KB
293

CLIPLY

让 Rust 中的命令行界面变得简单。

GitHub CI

关于

Cliply 是一个用于解析和处理命令行参数的流行 clap 库的替代品。它旨在对初学者更加友好。享受!

特性

  • 闪电般快速。
  • 易于使用,无戏剧性。
  • 提供多种开箱即用的选项。
  • 提供开箱即用的 -h--help 标志。
  • 提供开箱即用的 -v--version 标志。

安装

要将 Cliply 用于您的 Rust 项目,请将以下行添加到项目 Cargo.toml[dependencies] 部分

cliply = "0.2.0"

要将库导入到项目的代码中,请使用以下行

use cliply::App;

要了解如何使用该库的详细信息,请参阅下面的部分。

示例

以下是如何在示例应用程序中使用 Cliply 的 API 的示例。

/*
CLIPLY by "Angel Dollface".
Licensed under the MIT license.
*/

/// Importing the main
/// Cliply API struct.
use cliply::App;

/// Importing the error
/// struct to handle any
/// errors.
use cliply::CliplyError;

/// Main point of
/// entry for the 
/// Rust compiler.
pub fn main() -> () {

    // Instantiating the "App" struct with the required
    // data.
    let mut my_app: App = App::new(
        &"Test App",
        &"1.0.0",
        &"Angel Dollface"
    );

    // Adding a greeting without data. Note the use of "false".
    my_app.add_arg(
        &"greet", 
        &" generic greeting for the user", 
        &"false"
    );

    // Adding a greeting with data. Note the use of "true".
    my_app.add_arg(
        &"cgreet", 
        &"custom greeting for the user", 
        &"true"
    );

    // Was the version flag used?
    if my_app.version_is() == true {
        println!("{}", my_app.version_info());
    }

    // Was the help flag used?
    else if my_app.help_is() == true {
        println!("{}", my_app.help_info());
    }

    // Was the "greet" flag used?
    else if my_app.arg_was_used(&"greet") == true {
        println!("Hello World!");
    }

    // Was the "cgreet" flag used? Note the use of the result!
    else if my_app.arg_was_used(&"cgreet") == true {
        let arg_data: Result<String, CliplyError> = my_app.get_arg_data(&"cgreet");
        match arg_data {
            Ok(x) => {
                println!("Hello, {}!", x);
            },
            Err(e) => {
                println!("{}", e.to_string());
            }
        }
    }

    // If user-supplied flags are invalid, show
    // them the app's help message.
    else {
        println!("{}", my_app.help_info());
    }
    
}

要阅读详细文档,您可以访问此 链接

变更日志

版本 0.1.0

  • 初始版本。
  • 上传到 GitHub。

版本 0.2.0

  • 更新了文档。
  • 更新了 coutils crate 的版本。

注意

  • Cliply 由 Alexander Abraham(又名 "Angel Dollface")创建
  • 许可协议:MIT 许可证

依赖关系

~1.5MB
~25K SLoC