Alias Option
Represents one program options. One of more of these can be given to
a ProgramOptions
object as template arguments.
alias Option(string name, T)
= OptionImpl!(name,T);
If the option name is not a valid identifier, it is transformed in to camel case by the following rules:
- if first character is invalid first character for identifier, it is skipped.
- if any following character is not a valid identifier character, it is skipped AND the next valid character is capitalized.
Parameters
Name | Description |
---|---|
name | The name of the options |
T | The type of this variable |
Named optional arguments
A number of named optional arguments can be given to an Option
for e.g.:
ProgramOptions!(
Option!("optionName", bool) .shortName!"o";
);
This will create an options object that can parse --optionName
and -o
on the command line.
The following named optional arguments are available:
shortName
: string
- the short name for the option, multiple short names can be specified like a|b|c
.
longName
: string
- If you want multiple long names, or you want to set the longName to nil.
defaultValue
: T
- the default value if not supplied
description
: string
- description for help message
environmentVar
: string
- the name of the environment var that can set this option if present
caseSensitiveLongName
: bool
- true if long name is case sensitive
caseSensitiveShortName
: bool
- true if short name is case sensitive
incremental
: bool
- true if this option represents an incremental value
validator
: bool function(T)
- a function that will be given the value and must return true if the value is valid
seperator
: string
- the seperator used to parse associative array values
parser
: T function(string)
- a function that must return a T after parsing the string
bundleable
: bool
- true if this short option can be bundled with other short options
duplicatePolicy
: OptionDuplicatePolicy
- what to do when the option is encoutered for a second time