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 : String | name ≠ "") (help : String) : Parser

addIntArg

Adds a required positional integer argument.
def addIntArg (p : Parser) (name : String | name ≠ "") (help : String) : Parser

addFloatArg

Adds a required positional float argument.
def addFloatArg (p : Parser) (name : String | name ≠ "") (help : String) : Parser

addFlag

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

addOption

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

addIntOption

Adds an optional integer option.
def addIntOption (p : Parser) (name : String | name ≠ "") (default : Int) (help : String) : Parser

addFloatOption

Adds an optional float option.
def addFloatOption (p : Parser) (name : String | name ≠ "") (default : Float) (help : String) : Parser

addChoice

Adds an optional argument restricted to a non-empty list of choices.
def addChoice (p : Parser) (name : String | name ≠ "") (1 options : Array String | Array.size options > 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) (1 xs : Array String) : ParsedArgs

getString

Reads a string value by name.
def getString (a : ParsedArgs) (name : String | name ≠ "") : String

getInt

Reads an integer value by name.
def getInt (a : ParsedArgs) (name : String | name ≠ "") : Int

getFloat

Reads a float value by name.
def getFloat (a : ParsedArgs) (name : String | name ≠ "") : Float

getBool

Reads a boolean flag value by name.
def getBool (a : ParsedArgs) (name : String | name ≠ "") : Bool