11 stable releases

1.1.4 Jan 17, 2024
1.1.2 Nov 2, 2021
1.1.1 Nov 27, 2020
1.1.0 Jul 28, 2020
1.0.1 Nov 1, 2017

#120 in Command-line interface

Download history 115/week @ 2024-03-13 173/week @ 2024-03-20 147/week @ 2024-03-27 174/week @ 2024-04-03 175/week @ 2024-04-10 149/week @ 2024-04-17 268/week @ 2024-04-24 134/week @ 2024-05-01 281/week @ 2024-05-08 666/week @ 2024-05-15 256/week @ 2024-05-22 207/week @ 2024-05-29 201/week @ 2024-06-05 179/week @ 2024-06-12 132/week @ 2024-06-19 100/week @ 2024-06-26

642 downloads per month
Used in 6 crates (5 directly)

MIT license

67KB
1.5K SLoC

rustop

rs-graph crate iter-comprehensions docs

Introduction

A simple command line parser.

rustop is a simple command line parsing crate in the spirit of Ruby's trollop. It allows to write command line parameters in a type-safe way with as little effort as possible. rustop does not aim to be a full-featured command line parser for complex cases but to be a simple, easy to use crate for programs with a simple set of command line options.

Author

Frank Fischer frank-fischer@shadow-soft.de

Installation

Put the requirement rustop = "^1.1.4" into the Cargo.toml file of your project.

Documentation

See doc.rs.

Example

use rustop::opts;
fn main() {
    let (args, rest) = opts! {
        synopsis "This is a simple test program.";          // short info message for the help page
        opt verbose:bool, desc:"Be verbose.";               // a flag -v or --verbose
        opt luck:bool=true, desc:"We have no luck.";        // a flag -l or --no-luck
        opt number_of_lines:usize=1,
            desc:"The number of lines.";                    // an option -n or --number-of-lines
        param file:Option<String>, desc:"Input file name."; // an optional (positional) parameter
    }.parse_or_exit();

    if args.verbose {
        println!("Start the test program.");
    }

    if let Some(file) = args.file { println!("Read file: {}", file); }
    println!("Number of lines: {}", args.number_of_lines);
}

Download

Source code of latest tagged version: rustop-v1.1.4.tar.gz

Source code of trunk: rustop-trunk.tar.gz

No runtime deps