report.nct
use std/cli.Application
use std/fs
use std/io
use std/time.SystemTime
blocking func run(): i32! {
var application = Application.new("wall-clock", "Compare current and file modification time.")?
application.add_positional("PATH", true, "Filesystem path to inspect.")?
let arguments = application.parse_process() catch failure {
if !failure.has_code("std.cli.missing_positional")
&& !failure.has_code("std.cli.unexpected_positional") {
return move failure
}
let usage = application.usage()
io.eprintln(&usage)?
return 2
}
let requested = arguments.positional("PATH") otherwise { return 2 }
let observed = SystemTime.now()?
let observed_text = observed.to_rfc3339()?
let details = fs.metadata_blocking(requested)?
let modified_text = details.modified().to_rfc3339()?
io.print("now: ")?
io.println(&observed_text)?
io.print("modified: ")?
io.println(&modified_text)?
return 0
}