Args

Imports
open Array;
Table of Contents

Types

Parser

(type)
type Parser

ParsedArgs

(type)
type ParsedArgs

Functions

argparse

def argparse : Unit

newParser

Creates a new argument parser with a description shown in --help output.
def newParser (description: String) : Parser

addArg

Adds a required positional string argument.
def addArg (p: Parser) (name: {s : String | s != ""}) (help: String) : Parser

addIntArg

Adds a required positional integer argument.
def addIntArg (p: Parser) (name: {s : String | s != ""}) (help: String) : Parser

addFloatArg

Adds a required positional float argument.
def addFloatArg (p: Parser) (name: {s : String | s != ""}) (help: String) : Parser

addFlag

Adds an optional boolean flag (e.g. --verbose). Defaults to false.
def addFlag (p: Parser) (name: {s : String | s != ""}) (help: String) : Parser

addOption

Adds an optional string option, e.g. --output FILE.
def addOption (p: Parser) (name: {s : String | s != ""}) (default: String) (help: String) : Parser

addIntOption

Adds an optional integer option.
def addIntOption (p: Parser) (name: {s : String | s != ""}) (default: Int) (help: String) : Parser

addFloatOption

Adds an optional float option.
def addFloatOption (p: Parser) (name: {s : String | s != ""}) (default: Float) (help: String) : Parser

addChoice

Adds an optional argument restricted to a non-empty list of choices.
def addChoice (p: Parser) (name: {s : String | s != ""}) (options: {l : Array String | Array.size l > 0}) (default: String) (help: String) : Parser

parse

Parses sys.argv[1:] using the configured parser. argparse will call sys.exit on parse error or when --help is passed.
def parse (p: Parser) : ParsedArgs

parseList

Parses an explicit list of strings. Useful for tests and embedding.
def parseList (p: Parser) (xs: Array String) : ParsedArgs

getString

Reads a string value by name.
def getString (a: ParsedArgs) (name: {s : String | s != ""}) : String

getInt

Reads an integer value by name.
def getInt (a: ParsedArgs) (name: {s : String | s != ""}) : Int

getFloat

Reads a float value by name.
def getFloat (a: ParsedArgs) (name: {s : String | s != ""}) : Float

getBool

Reads a boolean flag value by name.
def getBool (a: ParsedArgs) (name: {s : String | s != ""}) : Bool