mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-25 23:26:19 +00:00
Refactor entrypoint to be a bit easier to read
This commit is contained in:
@@ -5,7 +5,7 @@ use std::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
use log::error;
|
use log::error;
|
||||||
use clap::clap_app;
|
use clap::{clap_app, ArgMatches};
|
||||||
|
|
||||||
use librojo::commands;
|
use librojo::commands;
|
||||||
|
|
||||||
@@ -55,11 +55,21 @@ fn main() {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
// `get_matches` consumes self for some reason.
|
// `get_matches` consumes our App, but we might need it in the 'help' case.
|
||||||
let matches = app.clone().get_matches();
|
let matches = app.clone().get_matches();
|
||||||
|
|
||||||
match matches.subcommand() {
|
match matches.subcommand() {
|
||||||
("init", Some(sub_matches)) => {
|
("init", Some(sub_matches)) => start_init(sub_matches),
|
||||||
|
("serve", Some(sub_matches)) => start_serve(sub_matches),
|
||||||
|
("build", Some(sub_matches)) => start_build(sub_matches),
|
||||||
|
("upload", Some(sub_matches)) => start_upload(sub_matches),
|
||||||
|
_ => {
|
||||||
|
app.print_help().expect("Could not print help text to stdout!");
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn start_init(sub_matches: &ArgMatches) {
|
||||||
let fuzzy_project_path = make_path_absolute(Path::new(sub_matches.value_of("PATH").unwrap_or("")));
|
let fuzzy_project_path = make_path_absolute(Path::new(sub_matches.value_of("PATH").unwrap_or("")));
|
||||||
let kind = sub_matches.value_of("kind");
|
let kind = sub_matches.value_of("kind");
|
||||||
|
|
||||||
@@ -75,8 +85,9 @@ fn main() {
|
|||||||
process::exit(1);
|
process::exit(1);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
("serve", Some(sub_matches)) => {
|
|
||||||
|
fn start_serve(sub_matches: &ArgMatches) {
|
||||||
let fuzzy_project_path = match sub_matches.value_of("PROJECT") {
|
let fuzzy_project_path = match sub_matches.value_of("PROJECT") {
|
||||||
Some(v) => make_path_absolute(Path::new(v)),
|
Some(v) => make_path_absolute(Path::new(v)),
|
||||||
None => std::env::current_dir().unwrap(),
|
None => std::env::current_dir().unwrap(),
|
||||||
@@ -105,8 +116,9 @@ fn main() {
|
|||||||
process::exit(1);
|
process::exit(1);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
("build", Some(sub_matches)) => {
|
|
||||||
|
fn start_build(sub_matches: &ArgMatches) {
|
||||||
let fuzzy_project_path = match sub_matches.value_of("PROJECT") {
|
let fuzzy_project_path = match sub_matches.value_of("PROJECT") {
|
||||||
Some(v) => make_path_absolute(Path::new(v)),
|
Some(v) => make_path_absolute(Path::new(v)),
|
||||||
None => std::env::current_dir().unwrap(),
|
None => std::env::current_dir().unwrap(),
|
||||||
@@ -127,8 +139,9 @@ fn main() {
|
|||||||
process::exit(1);
|
process::exit(1);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
("upload", Some(sub_matches)) => {
|
|
||||||
|
fn start_upload(sub_matches: &ArgMatches) {
|
||||||
let fuzzy_project_path = match sub_matches.value_of("PROJECT") {
|
let fuzzy_project_path = match sub_matches.value_of("PROJECT") {
|
||||||
Some(v) => make_path_absolute(Path::new(v)),
|
Some(v) => make_path_absolute(Path::new(v)),
|
||||||
None => std::env::current_dir().unwrap(),
|
None => std::env::current_dir().unwrap(),
|
||||||
@@ -163,9 +176,4 @@ fn main() {
|
|||||||
process::exit(1);
|
process::exit(1);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
|
||||||
_ => {
|
|
||||||
app.print_help().expect("Could not print help text to stdout!");
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user