///|
fn main {
let arguments = @env.args()
let request = match
@cli.parse_args(arguments[cli_argument_start():].to_owned()) {
Ok(request) => request
Err(message) => {
eprintln(message)
@sys.exit(2)
return
}
}
let result = @cli.run(
request,
fn(path) {
Ok(@fs.read_file_to_bytes(path)) catch {
@fs.IOError(message) => Err(message)
}
},
write=atomic_write,
validate_path=check_member_path,
canonical=canonical_path,
)
if !result.stdout.is_empty() {
println(result.stdout[:result.stdout.length() - 1].to_owned())
}
if !result.stderr.is_empty() {
eprintln(result.stderr[:result.stderr.length() - 1].to_owned())
}
@sys.exit(result.exit_code)
}