From 28e00cbd78da446e1cdd5bbda52fd0764999fe09 Mon Sep 17 00:00:00 2001 From: Joseph Crail Date: Mon, 25 May 2015 14:50:15 -0400 Subject: [PATCH] Standardize display of utility name and version. --- src/chmod/chmod.rs | 4 ++-- src/chroot/chroot.rs | 4 ++-- src/du/du.rs | 2 +- src/env/env.rs | 27 ++++++++++++++------------- src/expand/expand.rs | 2 +- src/fmt/fmt.rs | 2 +- src/fold/fold.rs | 4 ++-- src/groups/groups.rs | 4 ++-- src/hashsum/hashsum.rs | 4 ++-- src/head/head.rs | 2 +- src/mkdir/mkdir.rs | 4 ++-- src/mv/mv.rs | 10 +++++----- src/nice/nice.rs | 4 ++-- src/nl/nl.rs | 2 +- src/nohup/nohup.rs | 4 ++-- src/pwd/pwd.rs | 2 +- src/readlink/readlink.rs | 2 +- src/realpath/realpath.rs | 2 +- src/relpath/relpath.rs | 2 +- src/shuf/shuf.rs | 4 ++-- src/split/split.rs | 4 ++-- src/stdbuf/stdbuf.rs | 2 +- src/tail/tail.rs | 2 +- src/timeout/timeout.rs | 4 ++-- src/tsort/tsort.rs | 4 ++-- src/unexpand/unexpand.rs | 4 ++-- 26 files changed, 56 insertions(+), 55 deletions(-) diff --git a/src/chmod/chmod.rs b/src/chmod/chmod.rs index a4a276b71..9d5da2cde 100644 --- a/src/chmod/chmod.rs +++ b/src/chmod/chmod.rs @@ -48,7 +48,7 @@ pub fn uumain(args: Vec) -> i32 { Err(f) => { crash!(1, "{}", f) } }; if matches.opt_present("help") { - let msg = format!("{name} v{version} + let msg = format!("{name} {version} Usage: {program} [OPTION]... MODE[,MODE]... FILE... @@ -63,7 +63,7 @@ Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=]?[0-7]+'.", print!("{}", opts.usage(&msg)); return 0; } else if matches.opt_present("version") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } else if matches.free.is_empty() && matches.opt_present("reference") || matches.free.len() < 2 { show_error!("missing an argument"); show_error!("for help, try '{} --help'", NAME); diff --git a/src/chroot/chroot.rs b/src/chroot/chroot.rs index c4c293c2c..ce6c72400 100644 --- a/src/chroot/chroot.rs +++ b/src/chroot/chroot.rs @@ -202,11 +202,11 @@ fn set_user(user: &str) { } fn version() { - println!("{} v{}", NAME, VERSION) + println!("{} {}", NAME, VERSION) } fn help_menu(options: Options) { - let msg = format!("{0} v{1} + let msg = format!("{0} {1} Usage: {0} [OPTION]... NEWROOT [COMMAND [ARG]...] diff --git a/src/du/du.rs b/src/du/du.rs index 3328ef825..ddea33d5c 100644 --- a/src/du/du.rs +++ b/src/du/du.rs @@ -210,7 +210,7 @@ ers of 1000).", usage = opts.usage("Summarize disk usage of each FILE, recursively for directories.")); return 0; } else if matches.opt_present("version") { - println!("{} version: {}", NAME, VERSION); + println!("{} {}", NAME, VERSION); return 0; } diff --git a/src/env/env.rs b/src/env/env.rs index a6ccbe718..a4d8c4417 100644 --- a/src/env/env.rs +++ b/src/env/env.rs @@ -21,6 +21,9 @@ use std::process::Command; #[macro_use] mod util; +static NAME: &'static str = "env"; +static VERSION: &'static str = "1.0.0"; + struct options { ignore_env: bool, null: bool, @@ -29,8 +32,8 @@ struct options { program: Vec } -fn usage(prog: &str) { - println!("Usage: {} [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]", prog); +fn usage() { + println!("Usage: {} [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]", NAME); println!("Set each NAME to VALUE in the environment and run COMMAND\n"); println!("Possible options are:"); println!(" -i --ignore-environment\t start with an empty environment"); @@ -42,7 +45,7 @@ fn usage(prog: &str) { } fn version() { - println!("env 1.0.0"); + println!("{} {}", NAME, VERSION); } // print name=value env pairs on screen @@ -54,8 +57,6 @@ fn print_env(null: bool) { } pub fn uumain(args: Vec) -> i32 { - let prog = &args[0]; - // to handle arguments the same way than GNU env, we can't use getopts let mut opts = Box::new(options { ignore_env: false, @@ -94,7 +95,7 @@ pub fn uumain(args: Vec) -> i32 { } } else if opt.starts_with("--") { match opt.as_ref() { - "--help" => { usage(prog); return 0; } + "--help" => { usage(); return 0; } "--version" => { version(); return 0; } "--ignore-environment" => opts.ignore_env = true, @@ -103,14 +104,14 @@ pub fn uumain(args: Vec) -> i32 { let var = iter.next(); match var { - None => println!("{}: this option requires an argument: {}", prog, opt), + None => println!("{}: this option requires an argument: {}", NAME, opt), Some(s) => opts.unsets.push(s.to_string()) } } _ => { - println!("{}: invalid option \"{}\"", prog, *opt); - println!("Type \"{} --help\" for detailed informations", prog); + println!("{}: invalid option \"{}\"", NAME, *opt); + println!("Type \"{} --help\" for detailed informations", NAME); return 1; } } @@ -128,7 +129,7 @@ pub fn uumain(args: Vec) -> i32 { for c in chars { // short versions of options match c { - 'h' => { usage(prog); return 0; } + 'h' => { usage(); return 0; } 'V' => { version(); return 0; } 'i' => opts.ignore_env = true, '0' => opts.null = true, @@ -136,13 +137,13 @@ pub fn uumain(args: Vec) -> i32 { let var = iter.next(); match var { - None => println!("{}: this option requires an argument: {}", prog, opt), + None => println!("{}: this option requires an argument: {}", NAME, opt), Some(s) => opts.unsets.push(s.to_string()) } } _ => { - println!("{}: illegal option -- {}", prog, c); - println!("Type \"{} --help\" for detailed informations", prog); + println!("{}: illegal option -- {}", NAME, c); + println!("Type \"{} --help\" for detailed informations", NAME); return 1; } } diff --git a/src/expand/expand.rs b/src/expand/expand.rs index f0a2f0fea..cce64f79d 100644 --- a/src/expand/expand.rs +++ b/src/expand/expand.rs @@ -117,7 +117,7 @@ pub fn uumain(args: Vec) -> i32 { } if matches.opt_present("V") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); return 0; } diff --git a/src/fmt/fmt.rs b/src/fmt/fmt.rs index 0f91dc45f..19a6b4a84 100644 --- a/src/fmt/fmt.rs +++ b/src/fmt/fmt.rs @@ -94,7 +94,7 @@ pub fn uumain(args: Vec) -> i32 { } if matches.opt_present("V") || matches.opt_present("h") { - println!("uutils {} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); return 0 } diff --git a/src/fold/fold.rs b/src/fold/fold.rs index 334a9dd56..b69007081 100644 --- a/src/fold/fold.rs +++ b/src/fold/fold.rs @@ -40,14 +40,14 @@ pub fn uumain(args: Vec) -> i32 { }; if matches.opt_present("h") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); println!(""); println!("Usage:"); println!(" {} [OPTION]... [FILE]...", NAME); println!(""); print!("{}", opts.usage("Writes each file (or standard input if no files are given) to standard output whilst breaking long lines")); } else if matches.opt_present("V") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } else { let bytes = matches.opt_present("b"); let spaces = matches.opt_present("s"); diff --git a/src/groups/groups.rs b/src/groups/groups.rs index 378f2690c..167905111 100644 --- a/src/groups/groups.rs +++ b/src/groups/groups.rs @@ -34,9 +34,9 @@ pub fn uumain(args: Vec) -> i32 { }; if matches.opt_present("version") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } else if matches.opt_present("help") { - let msg = format!("{0} v{1} + let msg = format!("{0} {1} Usage: {0} [OPTION]... [USER]... diff --git a/src/hashsum/hashsum.rs b/src/hashsum/hashsum.rs index c7757043e..9f10544c8 100644 --- a/src/hashsum/hashsum.rs +++ b/src/hashsum/hashsum.rs @@ -138,7 +138,7 @@ pub fn uumain(args: Vec) -> i32 { } fn version() { - pipe_println!("{} v{}", NAME, VERSION); + pipe_println!("{} {}", NAME, VERSION); } fn usage(program: &str, binary_name: &str, opts: &getopts::Options) { @@ -148,7 +148,7 @@ fn usage(program: &str, binary_name: &str, opts: &getopts::Options) { format!(" {} {{--md5|--sha1|--sha224|--sha256|--sha384|--sha512}} [OPTION]... [FILE]...", program) }; - let msg = format!("{} v{} + let msg = format!("{} {} Usage: {} diff --git a/src/head/head.rs b/src/head/head.rs index a2ca128be..6b4998b20 100644 --- a/src/head/head.rs +++ b/src/head/head.rs @@ -179,5 +179,5 @@ fn head(reader: &mut BufReader, count: usize, use_bytes: bool) -> bo } fn version() { - println!("{} version {}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } diff --git a/src/mkdir/mkdir.rs b/src/mkdir/mkdir.rs index e9eab194e..d70cee5c9 100644 --- a/src/mkdir/mkdir.rs +++ b/src/mkdir/mkdir.rs @@ -50,7 +50,7 @@ pub fn uumain(args: Vec) -> i32 { return 0; } if matches.opt_present("version") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); return 0; } let verbose = matches.opt_present("verbose"); @@ -79,7 +79,7 @@ pub fn uumain(args: Vec) -> i32 { } fn print_help(opts: &getopts::Options) { - println!("{} v{} - make a new directory with the given path", NAME, VERSION); + println!("{} {}", NAME, VERSION); println!(""); println!("Usage:"); print!("{}", opts.usage("Create the given DIRECTORY(ies) if they do not exist")); diff --git a/src/mv/mv.rs b/src/mv/mv.rs index 61b112b39..607edf7c0 100644 --- a/src/mv/mv.rs +++ b/src/mv/mv.rs @@ -106,7 +106,7 @@ pub fn uumain(args: Vec) -> i32 { "none" | "off" => BackupMode::NoBackup, x => { show_error!("invalid argument ‘{}’ for ‘backup type’\n\ - Try 'mv --help' for more information.", x); + Try '{} --help' for more information.", x, NAME); return 1; } } @@ -117,7 +117,7 @@ pub fn uumain(args: Vec) -> i32 { if overwrite_mode == OverwriteMode::NoClobber && backup_mode != BackupMode::NoBackup { show_error!("options --backup and --no-clobber are mutually exclusive\n\ - Try 'mv --help' for more information."); + Try '{} --help' for more information.", NAME); return 1; } @@ -126,7 +126,7 @@ pub fn uumain(args: Vec) -> i32 { Some(x) => x, None => { show_error!("option '--suffix' requires an argument\n\ - Try 'mv --help' for more information."); + Try '{} --help' for more information.", NAME); return 1; } } @@ -180,7 +180,7 @@ fn exec(files: &[PathBuf], b: Behaviour) -> i32 { match files { [] | [_] => { show_error!("missing file operand\n\ - Try 'mv --help' for more information."); + Try '{} --help' for more information.", NAME); return 1; }, [ref source, ref target] => { @@ -220,7 +220,7 @@ fn exec(files: &[PathBuf], b: Behaviour) -> i32 { fs => { if b.no_target_dir { show_error!("mv: extra operand ‘{}’\n\ - Try 'mv --help' for more information.", fs[2].display()); + Try '{} --help' for more information.", fs[2].display(), NAME); return 1; } let target_dir = fs.last().unwrap(); diff --git a/src/nice/nice.rs b/src/nice/nice.rs index 50a8300bc..d5e13576d 100644 --- a/src/nice/nice.rs +++ b/src/nice/nice.rs @@ -47,12 +47,12 @@ pub fn uumain(args: Vec) -> i32 { }; if matches.opt_present("version") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); return 0; } if matches.opt_present("help") { - let msg = format!("{0} v{1} + let msg = format!("{0} {1} Usage: {0} [OPTIONS] [COMMAND [ARGS]] diff --git a/src/nl/nl.rs b/src/nl/nl.rs index 9b7bfe733..2bd39fdf1 100644 --- a/src/nl/nl.rs +++ b/src/nl/nl.rs @@ -324,5 +324,5 @@ fn print_usage(opts: &getopts::Options) { } fn version() { - println!("{} version {}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } diff --git a/src/nohup/nohup.rs b/src/nohup/nohup.rs index 5717e9fd4..304776d5a 100644 --- a/src/nohup/nohup.rs +++ b/src/nohup/nohup.rs @@ -53,7 +53,7 @@ pub fn uumain(args: Vec) -> i32 { } }; - if matches.opt_present("V") { println!("{} v{}", NAME, VERSION); return 0 } + if matches.opt_present("V") { println!("{} {}", NAME, VERSION); return 0 } if matches.opt_present("h") { show_usage(&opts); return 0 } if matches.free.len() == 0 { @@ -133,7 +133,7 @@ fn find_stdout() -> File { } fn show_usage(opts: &getopts::Options) { - let msg = format!("{0} v{1} + let msg = format!("{0} {1} Usage: {0} COMMAND [ARG]... diff --git a/src/pwd/pwd.rs b/src/pwd/pwd.rs index 8db2591e3..3205e0c32 100644 --- a/src/pwd/pwd.rs +++ b/src/pwd/pwd.rs @@ -44,7 +44,7 @@ Usage: Print the full filename of the current working directory.", NAME, VERSION); print!("{}", opts.usage(&msg)); } else if matches.opt_present("version") { - println!("{} version: {}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } else { println!("{}", env::current_dir().unwrap().display()); } diff --git a/src/readlink/readlink.rs b/src/readlink/readlink.rs index d027c0a41..a80a75b93 100644 --- a/src/readlink/readlink.rs +++ b/src/readlink/readlink.rs @@ -156,7 +156,7 @@ pub fn uumain(args: Vec) -> i32 { } if matches.opt_present("version") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); return 0; } diff --git a/src/realpath/realpath.rs b/src/realpath/realpath.rs index 78cb71e26..299e746d2 100644 --- a/src/realpath/realpath.rs +++ b/src/realpath/realpath.rs @@ -116,7 +116,7 @@ fn resolve_path(path: &str, strip: bool, zero: bool, quiet: bool) -> bool { } fn version() { - println!("{} v{}", NAME, VERSION) + println!("{} {}", NAME, VERSION) } fn show_usage(opts: &getopts::Options) { diff --git a/src/relpath/relpath.rs b/src/relpath/relpath.rs index c27c4f468..2775799a6 100644 --- a/src/relpath/relpath.rs +++ b/src/relpath/relpath.rs @@ -84,7 +84,7 @@ pub fn uumain(args: Vec) -> i32 { } fn version() { - println!("{} v{}", NAME, VERSION) + println!("{} {}", NAME, VERSION) } fn show_usage(opts: &getopts::Options) { diff --git a/src/shuf/shuf.rs b/src/shuf/shuf.rs index 14995bb9f..b4ea0ebbe 100644 --- a/src/shuf/shuf.rs +++ b/src/shuf/shuf.rs @@ -50,7 +50,7 @@ pub fn uumain(args: Vec) -> i32 { } }; if matches.opt_present("help") { - let msg = format!("{0} v{1} + let msg = format!("{0} {1} Usage: {0} [OPTION]... [FILE] @@ -61,7 +61,7 @@ Write a random permutation of the input lines to standard output. With no FILE, or when FILE is -, read standard input.", NAME, VERSION); print!("{}", opts.usage(&msg)); } else if matches.opt_present("version") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } else { let echo = matches.opt_present("echo"); let mode = match matches.opt_str("input-range") { diff --git a/src/split/split.rs b/src/split/split.rs index 089b60440..08d57cd18 100644 --- a/src/split/split.rs +++ b/src/split/split.rs @@ -42,7 +42,7 @@ pub fn uumain(args: Vec) -> i32 { }; if matches.opt_present("h") { - let msg = format!("{0} v{1} + let msg = format!("{0} {1} Usage: {0} [OPTION]... [INPUT [PREFIX]] @@ -56,7 +56,7 @@ size is 1000, and default PREFIX is 'x'. With no INPUT, or when INPUT is } if matches.opt_present("V") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); return 0; } diff --git a/src/stdbuf/stdbuf.rs b/src/stdbuf/stdbuf.rs index 15fe0fb2e..1423d86a7 100644 --- a/src/stdbuf/stdbuf.rs +++ b/src/stdbuf/stdbuf.rs @@ -68,7 +68,7 @@ fn preload_strings() -> (&'static str, &'static str) { } fn print_version() { - println!("{} version {}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } fn print_usage(opts: &Options) { diff --git a/src/tail/tail.rs b/src/tail/tail.rs index 6189b924c..4905df092 100644 --- a/src/tail/tail.rs +++ b/src/tail/tail.rs @@ -296,5 +296,5 @@ fn print_string(_: &mut T, s: &String) { } fn version () { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } diff --git a/src/timeout/timeout.rs b/src/timeout/timeout.rs index a66487090..6a8a5e479 100644 --- a/src/timeout/timeout.rs +++ b/src/timeout/timeout.rs @@ -53,14 +53,14 @@ pub fn uumain(args: Vec) -> i32 { } }; if matches.opt_present("help") { - print!("{} v{} + print!("{} {} Usage: {} [OPTION] DURATION COMMAND [ARG]... {}", NAME, VERSION, program, getopts::usage("Start COMMAND, and kill it if still running after DURATION.", &opts)); } else if matches.opt_present("version") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); } else if matches.free.len() < 2 { show_error!("missing an argument"); show_error!("for help, try '{0} --help'", program); diff --git a/src/tsort/tsort.rs b/src/tsort/tsort.rs index 23581ba7d..6f43aaebb 100644 --- a/src/tsort/tsort.rs +++ b/src/tsort/tsort.rs @@ -37,7 +37,7 @@ pub fn uumain(args: Vec) -> i32 { }; if matches.opt_present("h") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); println!(""); println!("Usage:"); println!(" {} [OPTIONS] FILE", NAME); @@ -47,7 +47,7 @@ pub fn uumain(args: Vec) -> i32 { } if matches.opt_present("V") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); return 0; } diff --git a/src/unexpand/unexpand.rs b/src/unexpand/unexpand.rs index b7a2caa3f..a6ee334d2 100644 --- a/src/unexpand/unexpand.rs +++ b/src/unexpand/unexpand.rs @@ -100,7 +100,7 @@ pub fn uumain(args: Vec) -> i32 { }; if matches.opt_present("help") { - println!("{} v{}\n", NAME, VERSION); + println!("{} {}\n", NAME, VERSION); println!("Usage: {} [OPTION]... [FILE]...\n", NAME); println!("{}", opts.usage( "Convert blanks in each FILE to tabs, writing to standard output.\n\ @@ -109,7 +109,7 @@ pub fn uumain(args: Vec) -> i32 { } if matches.opt_present("V") { - println!("{} v{}", NAME, VERSION); + println!("{} {}", NAME, VERSION); return 0; }