Tea
DocsPlaygroundExamplesReferenceCommunity
GitHub

Tea Language

A strongly typed scripting language for native tools.

© 2026 Tea Language.

ContributingCommunityRepository

Language Runtime

Built-ins

Standard Library

std.argsstd.assertstd.audiostd.envstd.fsstd.httpstd.netstd.jsonstd.parsestd.pathstd.processstd.regexstd.stringstd.timestd.url

Standard Library

std.args

Command-line argument parsing utilities.

Exported functions

pub def all() -> List[String]

Return all command-line arguments as a list of strings.

pub def program() -> String

Return the program name (argv[0] with path stripped).

pub def parse[T](spec: T) -> CliParseResult

Parse command-line arguments using a declarative command spec.

pub def parse_with[T](spec: T, argv: List[String]) -> CliParseResult

Parse an explicit argv list using a declarative command spec.

pub def require(parsed: CliParseResult) -> CliParseResult ! ArgsError.Usage

Require a parsed CLI result to be successful.

pub def has(flag_name: String) -> Bool

Check if a flag is present in the arguments.

pub def get(option_name: String) -> String?

Get the value of an option argument.

pub def positional() -> List[String]

Return positional arguments (arguments that are not flags or option values).

pub def option_string(parsed: CliParseResult, name: String) -> String?

Return an optional parsed string option value by name.

pub def option_int(parsed: CliParseResult, name: String) -> Int?

Return an optional parsed integer option value by name.

pub def option_bool(parsed: CliParseResult, name: String) -> Bool?

Return an optional parsed boolean option value by name.

pub def flag(parsed: CliParseResult, name: String) -> Bool

Return true when a parsed command result contains a specific flag option.

pub def option_string_or(parsed: CliParseResult, name: String, fallback: String) -> String

Return a string option value or a fallback.

pub def option_int_or(parsed: CliParseResult, name: String, fallback: Int) -> Int

Return an integer option value or a fallback.

pub def require_option_string(parsed: CliParseResult, name: String) -> String ! ArgsError.MissingOption

Return a string option value or throw when it is missing.

pub def require_option_int(parsed: CliParseResult, name: String) -> Int ! ArgsError.MissingOption

Return an integer option value or throw when it is missing.

pub def positional_value(parsed: CliParseResult, name: String) -> String?

Return an optional positional value by name.

pub def positional_or(parsed: CliParseResult, name: String, fallback: String) -> String

Return a positional value or a fallback.

pub def require_positional(parsed: CliParseResult, name: String) -> String ! ArgsError.MissingPositional

Return a positional value or throw when it is missing.

pub def subcommand(parsed: CliParseResult) -> String?

Return the selected subcommand when one was provided.

pub def require_subcommand(parsed: CliParseResult) -> String ! ArgsError.MissingCommand

Return the selected subcommand or throw when no subcommand was chosen.

pub def command_is(parsed: CliParseResult, name: String) -> Bool

Return true when the current parsed command matches a given command name.