diff options
author | Terts Diepraam <terts.diepraam@gmail.com> | 2024-04-18 09:26:39 +0200 |
---|---|---|
committer | Sylvestre Ledru <sylvestre@debian.org> | 2024-04-30 17:26:02 +0200 |
commit | b1ba2495286ce78f28b848897f0ab259bfa7740a (patch) | |
tree | 637de587c68702a5b711656a9858d5afadbed395 | |
parent | 1162c53f5626a10c33fa3cc0cc4b71a7aa51bcff (diff) |
multicall: add --list to list all utils
-rw-r--r-- | src/bin/coreutils.rs | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/bin/coreutils.rs b/src/bin/coreutils.rs index fc2cd16ad..6edb70821 100644 --- a/src/bin/coreutils.rs +++ b/src/bin/coreutils.rs @@ -90,13 +90,20 @@ fn main() { None => not_found(&util_os), }; - if util == "completion" { - gen_completions(args, &utils); - } - - if util == "manpage" { - gen_manpage(args, &utils); - } + match util { + "completion" => gen_completions(args, &utils), + "manpage" => gen_manpage(args, &utils), + "--list" => { + let mut utils: Vec<_> = utils.keys().collect(); + utils.sort(); + for util in utils { + println!("{util}"); + } + process::exit(0); + } + // Not a special command: fallthrough to calling a util + _ => {} + }; match utils.get(util) { Some(&(uumain, _)) => { |