Standardized option parsing for CLI commands.
Provides a consistent way to parse command-line options using a schema-based approach.
Summary
Types
@type schema() :: %{ :switches => [switch()], optional(:aliases) => alias_list(), optional(:defaults) => keyword() }
@type switch() :: {atom(), switch_type()}
@type switch_type() :: :string | :integer | :float | :boolean | :atom
Functions
@spec parse([String.t()], schema()) :: parse_result()
@spec parse_value(String.t(), switch_type()) :: any()