Versions in this module Expand all Collapse all v0 v0.0.2 Jan 19, 2025 Changes in this version + var ParserConfigFileErr = errors.New("An error occurred parsing a parser config file") + var ParserConfigFileSyntaxErr = errors.New("Syntax error") + func AddEnum[E enum.Value, EP enum.Pntr[E]](val *E, builder *ArgBuilder, longName string, ...) v0.0.1 Dec 8, 2024 Changes in this version + var ARG_TYPE []ArgType = []ArgType + var ArgumentPassedMultipleTimesErr = errors.New("Argument was passed multiple times but was expected only once") + var ArgumentTranslationErr = errors.New("An error occurred translating the supplied argument") + var ComputedArgumentErr = errors.New("An error occurred calculating a computed argument") + var DuplicateLongNameErr = errors.New("Duplicate long name") + var DuplicateShortNameErr = errors.New("Duplicate short name") + var EndOfTokenStreamErr = errors.New("The end of the token stream was reached") + var ExpectedArgumentErr = errors.New("Expected an argument (short or long)") + var ExpectedValueErr = errors.New("Expected a value") + var FLAG []flag = []flag + var HelpErr = errors.New("Help flag specified. Stopping.") + var InvalidArgType = errors.New("Invalid ArgType") + var InvalidFlag = errors.New("Invalid flag") + var InvalidTokenType = errors.New("Invalid tokenType") + var LongNameToShortErr = errors.New("Long name must be more than one char") + var MissingRequiredArgErr = errors.New("Required argument missing") + var ParserCombinationErr = errors.New("Could not combine parsers") + var ParserConfigErr = errors.New("An error occurred setting up the parser") + var ParsingErr = errors.New("An error occurred parsing the supplied arguments") + var ReservedLongNameErr = errors.New("Reserved long name used") + var ReservedShortNameErr = errors.New("Reserved short name used") + var TOKEN_TYPE []tokenType = []tokenType + var UnrecognizedLongArgErr = errors.New("Unrecognized long argument") + var UnrecognizedShortArgErr = errors.New("Unrecognized short argument") + func AddArg[T any, U translators.Translater[T]](val *T, builder *ArgBuilder, longName string, opts *opts[T, U]) + func AddComputedArg[T any, U computers.Computer[T]](val *T, builder *ArgBuilder, computer U) + func AddFlag(val *bool, builder *ArgBuilder, longName string, ...) + func AddFlagCntr[T mathBasic.Int | mathBasic.Uint](val *T, builder *ArgBuilder, longName string, ...) + func AddListArg[T any, U translators.Translater[T], W widgets.BaseInterface[T]](val *[]T, builder *ArgBuilder, longName string, ...) + func AddSelector[T any, U translators.Translater[T], W widgets.BaseInterface[T]](val *T, builder *ArgBuilder, longName string, ...) + func NewFlag() flag + func NewOpts[T any, U translators.Translater[T]]() *opts[T, U] + func NewTokenType() tokenType + type Arg struct + type ArgBuilder struct + func (b *ArgBuilder) ToParser(progName string, progDesc string) (Parser, error) + type ArgType int + const FlagArgType + const MultiFlagArgType + const MultiValueArgType + const UnknownArgType + const ValueArgType + func NewArgType() ArgType + func (_ *ArgType) Eq(l *ArgType, r *ArgType) bool + func (_ *ArgType) Hash(other *ArgType) hash.Hash + func (_ *ArgType) Zero(other *ArgType) + func (o *ArgType) FromString(s string) error + func (o *ArgType) UnmarshalJSON(b []byte) error + func (o ArgType) MarshalJSON() ([]byte, error) + func (o ArgType) String() string + func (o ArgType) Valid() error + type ArgvIter iter.Iter[string] + func ArgvIterFromSlice(argv []string) ArgvIter + func (a ArgvIter) ToIter() iter.Iter[string] + func (a ArgvIter) ToTokens() tokenIter + type ComputedArg struct + type Parser struct + func NewHelpParser() *Parser + func NewVerbosityParser[T basic.Int | basic.Uint](val *T) *Parser + func (p *Parser) AddSubParsers(others ...*Parser) error + func (p *Parser) Help() string + func (p *Parser) Parse(t tokenIter) error