// robots-tool entry point. Input is passed with --text for target portability.
///|
fn main {
run_cli(@env.args())
}
///|
fn run_cli(args : Array[String]) -> Unit {
let (cmd, rest) = split_command(args)
let opts = parse_options(rest)
if opts.unknown.length() > 0 {
println(
"{\"ok\":false,\"error\":{\"kind\":\"UnknownOption\",\"option\":\"\{opts.unknown}\"}}",
)
return
}
if opts.help || cmd == "help" {
print_usage()
return
}
if cmd == "version" {
println(
"robots-tool \{@robots.library_version()} (liuhang0001/moon-robots)",
)
return
}
match cmd {
"parse" => cmd_parse(opts)
"validate" => cmd_validate(opts)
"check" => cmd_check(opts)
"format" => cmd_format(opts)
"audit" => cmd_audit(opts)
"stats" => cmd_stats(opts)
_ =>
println(
"{\"ok\":false,\"error\":{\"kind\":\"UnknownCommand\",\"command\":\"\{cmd}\"}}",
)
}
}
///|
fn print_usage() -> Unit {
println("robots-tool 0.1.1")
println(
"usage: robots-tool --text ",
)
println(
"options: --agent --path --limits ",
)
}