mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-28 00:26:41 +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 clap::clap_app;
|
||||
use clap::{clap_app, ArgMatches};
|
||||
|
||||
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();
|
||||
|
||||
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 kind = sub_matches.value_of("kind");
|
||||
|
||||
@@ -75,8 +85,9 @@ fn main() {
|
||||
process::exit(1);
|
||||
},
|
||||
}
|
||||
},
|
||||
("serve", Some(sub_matches)) => {
|
||||
}
|
||||
|
||||
fn start_serve(sub_matches: &ArgMatches) {
|
||||
let fuzzy_project_path = match sub_matches.value_of("PROJECT") {
|
||||
Some(v) => make_path_absolute(Path::new(v)),
|
||||
None => std::env::current_dir().unwrap(),
|
||||
@@ -105,8 +116,9 @@ fn main() {
|
||||
process::exit(1);
|
||||
},
|
||||
}
|
||||
},
|
||||
("build", Some(sub_matches)) => {
|
||||
}
|
||||
|
||||
fn start_build(sub_matches: &ArgMatches) {
|
||||
let fuzzy_project_path = match sub_matches.value_of("PROJECT") {
|
||||
Some(v) => make_path_absolute(Path::new(v)),
|
||||
None => std::env::current_dir().unwrap(),
|
||||
@@ -127,8 +139,9 @@ fn main() {
|
||||
process::exit(1);
|
||||
},
|
||||
}
|
||||
},
|
||||
("upload", Some(sub_matches)) => {
|
||||
}
|
||||
|
||||
fn start_upload(sub_matches: &ArgMatches) {
|
||||
let fuzzy_project_path = match sub_matches.value_of("PROJECT") {
|
||||
Some(v) => make_path_absolute(Path::new(v)),
|
||||
None => std::env::current_dir().unwrap(),
|
||||
@@ -163,9 +176,4 @@ fn main() {
|
||||
process::exit(1);
|
||||
},
|
||||
}
|
||||
},
|
||||
_ => {
|
||||
app.print_help().expect("Could not print help text to stdout!");
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user