#arguments-parser #arguments #parser #light #cli #third-party #args

zigarg

zigarg is a very light argument parser written fully in Rust. It's not dependent on any third party libraries other than those that Rust already comes with. It lacks many features, like help generation, but enough to be suitable for a lot of applications. It's also good for educational purposes as it isn't very complex.

9 releases (2 stable)

1.1.0 Jan 2, 2022
1.0.0 Dec 25, 2021
0.2.5 Dec 24, 2021
0.1.0 Dec 21, 2021

#959 in Command-line interface


Used in zigfi

MIT/Apache

10KB
81 lines

zigarg

Build status unsafe forbidden

zigarg is a very light argument parser written fully in Rust. It's not dependent on any third party libraries other than those that Rust already comes with. It lacks many features, like help generation, but enough to be suitable for a lot of applications. It's also good for educational purposes as it isn't very complex.

I decided to publish the library after using it on several private CLI applications I made. I may add additional features in the future, if I find it necessary, but I'm trying to keep it as simple as possible, while still being very useful. Feel free to file an issue or suggest features.

Quickstart

Add zigarg to Cargo.toml as a dependency

[dependencies]
zigarg = "1.1.0"

Capture user's arguments by adding the code below, after you have added zigarg to your dependencies:

use zigarg::Arguments;
let arguments = zigarg::new();

Use the struct returned from zigarg::new() to perform different actions like the examples below

//Check if there are arguments provided by the user other than your program's name
let has_arguments = arguments.has_args();
//Check if the arguments provided by the user has a certain flag
let exist = arguments.exist("-q");
//Get the value of an argument
let file_name = arguments.get_value(-f);

Check documentation of the Arguments struct for more...

No runtime deps