#rustyline #action #cli-command #cmd #cli #exe #version

xcli

xcli,基于 rustyline 的 CLI 实现

6 个版本 (3 个重大更新)

0.5.2 2021年1月25日
0.5.1 2021年1月14日
0.3.0 2020年12月30日
0.2.0 2020年12月23日
0.1.0 2020年7月9日

#470命令行界面

每月41次 下载
用于 6 个 crate(3 个直接使用)

MIT 许可证

27KB
493

xcli-rs

基于 Rustyline 的 Rust CLI 实现。

支持的平台

  • Unix
  • Windows
    • cmd.exe
    • Powershell
  • MacOS(尚未测试)

注意:

  • "引用参数不支持
  • 在非 tty 设备上运行时不显示提示。需要在 Rustyline 上进行简单的调整...

示例

use xcli::*;

let mut app = App::new("xCLI")
    .version("v0.1")
    .author("[email protected]");

app.add_subcommand(Command::new("qwert")
    .about("controls testing features")
    .usage("qwert")
    .action(|_app, _actions| -> XcliResult {
        println!("qwert tested");
        Ok(CmdExeCode::Ok)
    }));

app.run();

crates.io

您可以通过将以下内容添加到您的 Cargo.toml 来在项目中使用此包

[dependencies]
xcli = "0.5.1"

变更日志

  • 2020年12月31日,v0.5.0 API 更改。

    • 允许用户数据注册到 xCli APP,并且可以通过用户指定的 CLI 命令检索它
    • 重构 xCliError 以接受更多错误类型。
    • add_subcommand_with_userdata() 用于将用户数据附加到 CLI 子命令
    • 示例更新以反映新的 API
  • 2021年1月11日,v0.5.1

    • 命令别名:命令可以有一个简短名称
      tree            : tree
      mode            : mode [vi|emacs]
      log, l          : log [off|error|warn|info|debug|trace]
      help, h         : help [command]
      exit            : exit
      version, v      : version
      

依赖关系

~5MB
~98K SLoC