argparse — API Reference

CLI argument parsing for Donna

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) -> String
pub fn has(args: List(#(String, String)), key: String) -> Bool

Return 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).