}
macro_rules! each_subcommand{
- ($mac:ident) => ({
+ ($mac:ident) => {
$mac!(bench);
$mac!(build);
$mac!(clean);
$mac!(verify_project);
$mac!(version);
$mac!(yank);
- })
+ }
+}
+
+mod subcommands {
+ macro_rules! declare_mod {
+ ($name:ident) => ( pub mod $name; )
+ }
+ each_subcommand!(declare_mod);
}
/**
macro_rules! cmd{
($name:ident) => (if args[1] == stringify!($name).replace("_", "-") {
- mod $name;
config.shell().set_verbose(true);
- let r = cargo::call_main_without_stdin($name::execute, config,
- $name::USAGE,
+ let r = cargo::call_main_without_stdin(subcommands::$name::execute, config,
+ subcommands::$name::USAGE,
&args,
false);
cargo::process_executed(r, &mut config.shell());
}
macro_rules! add_cmd {
- ($cmd:ident) => (commands.insert(stringify!($cmd).replace("_", "-")))
+ ($cmd:ident) => ({ commands.insert(stringify!($cmd).replace("_", "-")); })
}
each_subcommand!(add_cmd);
commands