diff options
Diffstat (limited to 'argparse/examples')
| -rw-r--r-- | argparse/examples/greeting.rs | 26 | ||||
| -rw-r--r-- | argparse/examples/structure.rs | 38 | ||||
| -rw-r--r-- | argparse/examples/subcommands.rs | 88 | 
3 files changed, 0 insertions, 152 deletions
| diff --git a/argparse/examples/greeting.rs b/argparse/examples/greeting.rs deleted file mode 100644 index 77e719c..0000000 --- a/argparse/examples/greeting.rs +++ /dev/null @@ -1,26 +0,0 @@ -extern crate argparse; - -use argparse::{ArgumentParser, StoreTrue, Store, Print}; - -fn main() { -    let mut verbose = false; -    let mut name = "World".to_string(); -    { -        let mut ap = ArgumentParser::new(); -        ap.set_description("Greet somebody."); -        ap.add_option(&["-V", "--version"], -            Print(env!("CARGO_PKG_VERSION").to_string()), "Show version"); -        ap.refer(&mut verbose) -            .add_option(&["-v", "--verbose"], StoreTrue, -            "Be verbose"); -        ap.refer(&mut name) -            .add_option(&["--name"], Store, -            "Name for the greeting"); -        ap.parse_args_or_exit(); -    } - -    if verbose { -        println!("name is {}", name); -    } -    println!("Hello {}!", name); -} diff --git a/argparse/examples/structure.rs b/argparse/examples/structure.rs deleted file mode 100644 index 59b9345..0000000 --- a/argparse/examples/structure.rs +++ /dev/null @@ -1,38 +0,0 @@ -extern crate argparse; - -use std::process::exit; - -use argparse::{ArgumentParser, StoreTrue, Store}; - -struct Options { -    verbose: bool, -    name: String, -} - -fn main() { -    let mut options = Options { -        verbose: false, -        name: "World".to_string(), -    }; -    { -        let mut ap = ArgumentParser::new(); -        ap.set_description("Greet somebody."); -        ap.refer(&mut options.verbose) -            .add_option(&["-v", "--verbose"], StoreTrue, -            "Be verbose"); -        ap.refer(&mut options.name) -            .add_option(&["--name"], Store, -            "Name for the greeting"); -        match ap.parse_args() { -            Ok(()) => {} -            Err(x) => { -                exit(x); -            } -        } -    } - -    if options.verbose { -        println!("name is {}", options.name); -    } -    println!("Hello {}!", options.name); -} diff --git a/argparse/examples/subcommands.rs b/argparse/examples/subcommands.rs deleted file mode 100644 index 8fb061a..0000000 --- a/argparse/examples/subcommands.rs +++ /dev/null @@ -1,88 +0,0 @@ -use std::str::FromStr; -use std::io::{stdout, stderr}; -extern crate argparse; - -use argparse::{ArgumentParser, StoreTrue, Store, List}; - -#[allow(non_camel_case_types)] -#[derive(Debug)] -enum Command { -    play, -    record, -} - -impl FromStr for Command { -    type Err = (); -    fn from_str(src: &str) -> Result<Command, ()> { -        return match src { -            "play" => Ok(Command::play), -            "record" => Ok(Command::record), -            _ => Err(()), -        }; -    } -} - - - -fn play_command(verbose: bool, args: Vec<String>) { -    let mut output = "".to_string(); -    { -        let mut ap = ArgumentParser::new(); -        ap.set_description("Plays a sound"); -        ap.refer(&mut output) -            .add_option(&["--output"], Store, -                r#"Output sink to play to"#); -        match ap.parse(args, &mut stdout(), &mut stderr()) { -            Ok(()) =>  {} -            Err(x) => { -                std::process::exit(x); -            } -        } -    } -    println!("Verbosity: {}, Output: {}", verbose, output); -} - -fn record_command(verbose: bool, args: Vec<String>) { -    let mut input = "".to_string(); -    { -        let mut ap = ArgumentParser::new(); -        ap.set_description("Records a sound"); -        ap.refer(&mut input) -            .add_option(&["--input"], Store, -                r#"Output source to record from"#); -        match ap.parse(args, &mut stdout(), &mut stderr()) { -            Ok(()) =>  {} -            Err(x) => { -                std::process::exit(x); -            } -        } -    } -    println!("Verbosity: {}, Input: {}", verbose, input); -} - -fn main() { -    let mut verbose = false; -    let mut subcommand = Command::play; -    let mut args = vec!(); -    { -        let mut ap = ArgumentParser::new(); -        ap.set_description("Plays or records sound"); -        ap.refer(&mut verbose) -            .add_option(&["-v", "--verbose"], StoreTrue, -            "Be verbose"); -        ap.refer(&mut subcommand).required() -            .add_argument("command", Store, -                r#"Command to run (either "play" or "record")"#); -        ap.refer(&mut args) -            .add_argument("arguments", List, -                r#"Arguments for command"#); -        ap.stop_on_first_argument(true); -        ap.parse_args_or_exit(); -    } - -    args.insert(0, format!("subcommand {:?}", subcommand)); -    match subcommand { -        Command::play => play_command(verbose, args), -        Command::record => record_command(verbose, args), -    } -} | 
