]> git.proxmox.com Git - cargo.git/blame - src/bin/cargo/commands/mod.rs
refactor(cli): Make help behave like other subcommands
[cargo.git] / src / bin / cargo / commands / mod.rs
CommitLineData
04ddd4d0 1use crate::command_prelude::*;
66bb9dc3
AK
2
3pub fn builtin() -> Vec<App> {
4 vec![
5ca5f2f1 5 add::cli(),
66bb9dc3
AK
6 bench::cli(),
7 build::cli(),
8 check::cli(),
9 clean::cli(),
96a56422 10 config::cli(),
66bb9dc3
AK
11 doc::cli(),
12 fetch::cli(),
b02ba377 13 fix::cli(),
66bb9dc3
AK
14 generate_lockfile::cli(),
15 git_checkout::cli(),
d674c229 16 help::cli(),
66bb9dc3
AK
17 init::cli(),
18 install::cli(),
19 locate_project::cli(),
20 login::cli(),
cc6df1d7 21 logout::cli(),
66bb9dc3
AK
22 metadata::cli(),
23 new::cli(),
24 owner::cli(),
25 package::cli(),
26 pkgid::cli(),
27 publish::cli(),
28 read_manifest::cli(),
ff49b829 29 report::cli(),
66bb9dc3
AK
30 run::cli(),
31 rustc::cli(),
32 rustdoc::cli(),
33 search::cli(),
34 test::cli(),
96a39371 35 tree::cli(),
66bb9dc3
AK
36 uninstall::cli(),
37 update::cli(),
3842d8e6 38 vendor::cli(),
66bb9dc3
AK
39 verify_project::cli(),
40 version::cli(),
41 yank::cli(),
42 ]
43}
44
f17ecafc 45pub fn builtin_exec(cmd: &str) -> Option<fn(&mut Config, &ArgMatches) -> CliResult> {
fecb7246 46 let f = match cmd {
5ca5f2f1 47 "add" => add::exec,
6b9c063b 48 "bench" => bench::exec,
e8f37dae
EH
49 "build" => build::exec,
50 "check" => check::exec,
6b9c063b 51 "clean" => clean::exec,
96a56422 52 "config" => config::exec,
6b9c063b
AK
53 "doc" => doc::exec,
54 "fetch" => fetch::exec,
b02ba377 55 "fix" => fix::exec,
6b9c063b
AK
56 "generate-lockfile" => generate_lockfile::exec,
57 "git-checkout" => git_checkout::exec,
d674c229 58 "help" => help::exec,
6b9c063b
AK
59 "init" => init::exec,
60 "install" => install::exec,
61 "locate-project" => locate_project::exec,
62 "login" => login::exec,
cc6df1d7 63 "logout" => logout::exec,
6b9c063b
AK
64 "metadata" => metadata::exec,
65 "new" => new::exec,
66 "owner" => owner::exec,
67 "package" => package::exec,
68 "pkgid" => pkgid::exec,
69 "publish" => publish::exec,
70 "read-manifest" => read_manifest::exec,
ff49b829 71 "report" => report::exec,
e8f37dae 72 "run" => run::exec,
6b9c063b
AK
73 "rustc" => rustc::exec,
74 "rustdoc" => rustdoc::exec,
75 "search" => search::exec,
e8f37dae 76 "test" => test::exec,
96a39371 77 "tree" => tree::exec,
6b9c063b
AK
78 "uninstall" => uninstall::exec,
79 "update" => update::exec,
3842d8e6 80 "vendor" => vendor::exec,
6b9c063b
AK
81 "verify-project" => verify_project::exec,
82 "version" => version::exec,
83 "yank" => yank::exec,
84 _ => return None,
85 };
e8f37dae 86 Some(f)
6b9c063b 87}
66bb9dc3 88
5ca5f2f1 89pub mod add;
6b9c063b
AK
90pub mod bench;
91pub mod build;
92pub mod check;
93pub mod clean;
96a56422 94pub mod config;
6b9c063b
AK
95pub mod doc;
96pub mod fetch;
b02ba377 97pub mod fix;
6b9c063b
AK
98pub mod generate_lockfile;
99pub mod git_checkout;
0e26eae5 100pub mod help;
6b9c063b
AK
101pub mod init;
102pub mod install;
103pub mod locate_project;
104pub mod login;
cc6df1d7 105pub mod logout;
6b9c063b
AK
106pub mod metadata;
107pub mod new;
108pub mod owner;
109pub mod package;
110pub mod pkgid;
111pub mod publish;
112pub mod read_manifest;
ff49b829 113pub mod report;
6b9c063b
AK
114pub mod run;
115pub mod rustc;
116pub mod rustdoc;
117pub mod search;
118pub mod test;
96a39371 119pub mod tree;
6b9c063b
AK
120pub mod uninstall;
121pub mod update;
3842d8e6 122pub mod vendor;
6b9c063b
AK
123pub mod verify_project;
124pub mod version;
125pub mod yank;