///|
fn print_layout(root : String, book_id : String) -> Unit {
let home = @moonchat.moonsuite_product_home_for_workspace_root(root, book_id~)
println(home.to_json().stringify(indent=2))
}
///|
fn print_usage() -> Unit {
println(if interface_is_chinese() { "用法" } else { "Usage" })
println("moon run cmd/main -- summary")
println("moon run cmd/main -- layout [workspace-root] [book-id]")
}
///|
fn main {
match @env.args()[1:] {
[] | ["summary", ..] => println(@moonchat.product_name())
["layout", root, book_id, ..] => print_layout(root, book_id)
["layout", root] => print_layout(root, "")
["layout"] => print_layout(".", "")
["help", ..] | ["--help", ..] | ["-h", ..] => print_usage()
[unknown, ..] => {
println(
if interface_is_chinese() {
"未知的 MoonChat 命令:\{unknown}"
} else {
"Unknown MoonChat command: \{unknown}"
},
)
print_usage()
}
}
}
///|
fn interface_is_chinese() -> Bool {
let raw = match @env.get_env_var("MOONSUITE_LANG") {
Some(value) => value
None =>
match @env.get_env_var("LC_ALL") {
Some(value) => value
None => @env.get_env_var("LANG").unwrap_or("en-US")
}
}
let raw = raw.to_lower()
raw.has_prefix("zh")
}