cli
Declarative command-line argument parsing.
Import
import cliFunctions
cli.flag(name: str, help?: str)
Declare a boolean flag, e.g. --verbose. Absent flags are false.
cli.option(name: str, default?: any, help?: str)
Declare a value option, e.g. --port 8080. Can specify a default value.
cli.positional(name: str, help?: str)
Declare a required positional argument.
cli.parse(args: [str]) -> map
Parse the given argument array against the declared spec. Returns a map of {flags, options, positional}.
Examples
import cli
cli.flag("verbose")
cli.flag("dry-run")
cli.option("port", 8080, "port to listen on")
cli.option("output", "out.txt", "output file")
cli.positional("input")
let opts = cli.parse(argv)
if opts.flags["verbose"] {
println("verbose mode")
}
let port = opts.options["port"]
let input = opts.positional[0]
println("port={port}, input={input}")