Skip to content

Commit

Permalink
updatera lite skit
Browse files Browse the repository at this point in the history
  • Loading branch information
vincent-thomas committed Sep 30, 2023
1 parent fc5221a commit 23004ec
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 50 deletions.
2 changes: 1 addition & 1 deletion clier/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,6 @@ fn main() -> Result<ExitCode, error::Error> {
0
});

clier.meta(&meta).command(first_command)?.run()
clier.meta(&meta).command(first_command).run()
}
```
59 changes: 12 additions & 47 deletions clier/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,52 +1,6 @@
#![deny(warnings, missing_docs)]
#![cfg_attr(docsrs, feature(doc_cfg))]

//! # Command Line Argument Parser for Rust
//! `Clier` is a command line argument parser and command framework for rust.
//!
//! ## Parser
//! To start a new cli projects run:
//!
//! ```console
//! $ cargo new demo && cd demo
//! $ cargo add clier
//! ```
//!
//! Then define your CLI in `src/main.rs`:
//!
//! ```rust
#![doc = include_str!("../examples/parser.rs")]
//! ```
//!
//! And try it out:
//! ```md
//! $ cargo run -- command subcommand --test=value --no-production --help --try-me=false
//! Argv {
//! commands: [
//! "command",
//! "subcommand",
//! ],
//! flags: {
//! "test": "value",
//! "production": "false",
//! "help": "true",
//! "try-me": "false",
//! },
//! }
//! ```
//!
//! ## Framework
//! To start a new cli app run:
//!
//! ```console
//! $ cargo new demo-app && cd demo-app
//! $ cargo add clier
//! ```
//!
//! Then define your CLI in `src/main.rs`:
//! ```rust
#![doc = include_str!("../examples/framework.rs")]
//! ```
#![doc = include_str!("../README.md")]

// region: Imports

Expand Down Expand Up @@ -105,3 +59,14 @@ impl Clier<MissingMeta> {
Clier { options: MissingMeta, registered_commands: vec![], args: Argv::from(args) }
}
}

/// Short for generating command with [Command::new](crate::builder::RCommand)
#[macro_export]
macro_rules! cmd {
($cmd_name:expr, $desc:expr, $function:expr) => {
$crate::builder::RCommand::new($cmd_name, $desc, $function)
};
($cmd_name:expr, $desc:expr, $function:expr, $usage:expr) => {
$crate::builder::RCommand::new($cmd_name, $desc, $function).usage($usage)
};
}
3 changes: 1 addition & 2 deletions clier_parser/src/transformer.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
use std::collections::HashMap;

use crate::flags_argv::transform_flags_argv;
use crate::{commands_argv, Argv};
use commands_argv::transform_command_argv;
Expand Down Expand Up @@ -37,6 +35,7 @@ pub fn transform_vargs(args: &[String]) -> Argv {
// Testar redan commands. Behöver inte det nu
#[test]
fn test_transform_vargs() {
use std::collections::HashMap;
let result = transform_vargs(
"command subcommand --name=test --value=false -fe=t -vt value -ui --test1 --no-fdsafsa test"
.split(' ')
Expand Down

0 comments on commit 23004ec

Please sign in to comment.