diff options
author | Ben S <ogham@bsago.me> | 2015-02-23 16:08:51 +0000 |
---|---|---|
committer | Ben S <ogham@bsago.me> | 2015-02-23 16:08:51 +0000 |
commit | ea1b3caefad39b7f794cd99112600528eb237d15 (patch) | |
tree | 6d18df89ff3909b7e7a7e38e649d3db26c21ed92 /src/options.rs | |
parent | ce23c63d759e3f19f59c91ebaa776d5b7a8746ac (diff) |
Allow --tree without --recurse
See #24
Diffstat (limited to 'src/options.rs')
-rw-r--r-- | src/options.rs | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/options.rs b/src/options.rs index a50bad8..87821db 100644 --- a/src/options.rs +++ b/src/options.rs @@ -47,7 +47,7 @@ impl Options { if xattr::feature_implemented() { opts.optflag("@", "extended", "display extended attribute keys and sizes in long (-l) output" - ); + ); } opts.optflag("1", "oneline", "display one entry per line"); opts.optflag("a", "all", "show dot-files"); @@ -220,7 +220,7 @@ impl View { let details = Details { columns: try!(Columns::deduce(matches)), header: matches.opt_present("header"), - tree: matches.opt_present("recurse"), + tree: matches.opt_present("recurse") || matches.opt_present("tree"), xattr: xattr::feature_implemented() && matches.opt_present("extended"), filter: filter, }; @@ -383,10 +383,10 @@ impl DirAction { let tree = matches.opt_present("tree"); match (recurse, list, tree) { - (false, _, true ) => Err(Misfire::Useless("tree", false, "recurse")), (true, true, _ ) => Err(Misfire::Conflict("recurse", "list-dirs")), + (_, true, true ) => Err(Misfire::Conflict("tree", "list-dirs")), (true, false, false) => Ok(DirAction::Recurse), - (true, false, true ) => Ok(DirAction::Tree), + (_ , _, true ) => Ok(DirAction::Tree), (false, true, _ ) => Ok(DirAction::AsFile), (false, false, _ ) => Ok(DirAction::List), } @@ -565,11 +565,4 @@ mod test { assert_eq!(opts.unwrap_err(), Misfire::Useless("extended", false, "long")) } } - - #[test] - fn tree_without_recurse() { - let opts = Options::getopts(&[ "--tree".to_string() ]); - assert_eq!(opts.unwrap_err(), Misfire::Useless("tree", false, "recurse")) - } - } |