argparse
CLI argument parsing for Donna.
Parses a List(String) into List(#(String, String)) pairs.
argparse.parse(["--key", "value"]) == [#("key", "value")]
argparse.parse(["--key=value"]) == [#("key", "value")]
argparse.parse(["--flag"]) == [#("flag", "true")]
argparse.parse(["-k", "value"]) == [#("k", "value")]
argparse.parse(["-k"]) == [#("k", "true")]
argparse.parse(["input.md"]) == [#("", "input.md")]
Requires ffi/argv.c to be linked, which happens automatically when
depending on this package.
Functions
pub fn from_argv() -> List(#(String, String))Parse argv from the running process, skipping argv[0] (program name).
pub fn parse(args: List(String)) -> List(#(String, String))Parse a list of argument strings into key-value pairs.
pub fn get(args: List(#(String, String)), key: String) -> Stringpub fn has(args: List(#(String, String)), key: String) -> BoolReturn True if the named argument or flag is present.
pub fn positional(args: List(#(String, String))) -> List(String)Return all positional arguments (those with no key).