///|
pub fn run_cli() -> Unit {
let argv = @sys.get_cli_args()
let args = if argv.length() > 1 { argv[1:].to_array() } else { [] }
match parse_cli_args(args) {
Ok(Command::Install(cli)) =>
match parse_spec(cli.spec) {
Ok(spec) => {
let name = match cli.name {
Some(value) => value
None => spec.package_name
}
match install(spec, name, cli.target) {
Ok(_) => ()
Err(err) => {
println("error: \{err}")
@sys.exit(1)
}
}
}
Err(err) => {
println("error: \{err}")
println(usage())
@sys.exit(1)
}
}
Ok(Command::Uninstall(name)) =>
match uninstall(name) {
Ok(_) => ()
Err(err) => {
println("error: \{err}")
@sys.exit(1)
}
}
Err(CliError::HelpRequested) => println(usage())
Err(err) => {
println("error: \{err}")
println(usage())
@sys.exit(1)
}
}
}