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

#151 in Command-line interface

Download history 100/week @ 2024-02-12 149/week @ 2024-02-19 190/week @ 2024-02-26 208/week @ 2024-03-04 123/week @ 2024-03-11 152/week @ 2024-03-18 133/week @ 2024-03-25 205/week @ 2024-04-01 173/week @ 2024-04-08 104/week @ 2024-04-15 313/week @ 2024-04-22 97/week @ 2024-04-29 248/week @ 2024-05-06 610/week @ 2024-05-13 366/week @ 2024-05-20 199/week @ 2024-05-27

1,436 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