Arguments
Todo
Naming convention
Basic classes → Argument
Named arguments → Flag
Character prefixes → Short, Long, Windows
Overview
graph LR; CLA[CommandLineArgument] style CLA stroke-dasharray: 5 5 EA[ExecutableArgument] NA[NamedArgument] style NA stroke-dasharray: 5 5 VA[ValuedArgument] style VA stroke-dasharray: 5 5 NVA[NamedAndValuedArgument] style NVA stroke-dasharray: 5 5 BF[BooleanFlag] style NVA stroke-dasharray: 5 5 NTA[NamedTupledArgument] style NTA stroke-dasharray: 5 5 NKVPA[NamedKeyValuePairsArgument] style NKVPA stroke-dasharray: 5 5 CLA ----> EA CLA --> NA CLA --> VA NA --> NVA VA --> NVA NA --> BF VA --> BF NA --> NTA VA --> NTA NA --> NKVPA VA --> NKVPA CA["<b>CommandArgument</b><br/><div style='font-family: monospace'>command</div>"] FA[FlagArgument] style FA stroke-dasharray: 5 5 NA ---> CA NA ---> FA SA["<b>StringArgument</b><br/><div style='font-family: monospace'>value</div>"] SLA["<b>StringListArgument</b><br/><div style='font-family: monospace'>value1 value2</div>"] PA["<b>PathArgument</b><br/><div style='font-family: monospace'>file1.txt</div>"] PLA["<b>PathListArgument</b><br/><div style='font-family: monospace'>file1.txt file2.txt</div>"] VA ---> SA VA ---> SLA VA ---> PA VA ---> PLA NVFA["<b>NamedAndValuedFlagArgument</b><br/><div style='font-family: monospace'>output=file.txt</div>"] style NVFA stroke-dasharray: 5 5 NOVFA["<b>NamedAndOptionalValuedFlagArgument</b><br/><div style='font-family: monospace'>output=file.txt</div>"] style NOVFA stroke-dasharray: 5 5 NVA --> NVFA NVA --> NOVFA
Without Prefix Character(s)
RAW Format |
Examples |
Argument Class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Executable
An executable argument represents a program/executable. The internal value is a Path
object.
Command
Commands are (usually) mutually exclusive arguments and the first argument in a list of arguments to a program. They are used to logically group arguments.
While commands can or cannot have prefix characters, they shouldn’t be confused with flag arguments or string arguments.
Example:
prog command -arg1 --argument2
See also
For simple flags (various formats).
→Flag
For string arguments.
→StringArgument
String
A simple argument accepting any string value. If a string has a predefined format, more specific argument classes should
be used like Command
, Flag
or
PathArgument
.
See also
For path argument.
→PathArgument
List of Strings
Like StringArgument
but supporting a list of strings.
See also
For list of path arguments.
→PathListArgument
Path
An argument accepting a Path
object.
List of Paths
Like PathArgument
but supporting a list of paths.
With Prefix Character(s)
Commonly used prefix characters are: single and double dash, single slash, or plus character(s).
Single Dash Argument Format |
Double Dash Argument Format |
Single Slash Argument Format |
Argument Class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Command
Todo
Write documentation.
graph LR; CLA[CommandLineArgument] style CLA stroke-dasharray: 5 5 CLA --> NA[NamedArgument] style NA stroke-dasharray: 5 5 NA --> CA["<b>CommandArgument</b><br/><div style='font-family: monospace'>command</div>"]; CA --> SCA["<b>ShortCommand</b><br/><div style='font-family: monospace'>-command</div>"]; CA --> LCA["<b>LongCommand</b><br/><div style='font-family: monospace'>--command</div>"]; CA --> WCA["<b>WindowsCommand</b><br/><div style='font-family: monospace'>/command</div>"];
Flag
A flag is a command line argument that is either present or not. If present that argument is said to be activated or true.
3 variants are predefined with prefixes -
, --
and /
.
Variants
graph LR; CLA[CommandLineArgument] style CLA stroke-dasharray: 5 5 CLA --> NA[NamedArgument] style NA stroke-dasharray: 5 5 NA --> FA[FlagArgument] style FA stroke-dasharray: 5 5 FA --> SFA["<b>ShortFlag</b><br/><div style='font-family: monospace'>-flag</div>"] FA --> LFA["<b>LongFlag</b><br/><div style='font-family: monospace'>--flag</div>"] FA --> WFA["<b>WindowsFlag</b><br/><div style='font-family: monospace'>/flag</div>"]
Flag with Value
Todo
Write documentation.
Boolean Flag
Todo
Write documentation.
Flag with Optional Value
Todo
Write documentation.
List of Flags with Value
Todo
Write documentation.
Flag with Value as a Tuple
Todo
Write documentation.