This page is a synthesis of the specification compliance for each parser.
Behavior id
|
Description
|
Shel
|
Python
|
C
|
PHP
|
|
sarg-missing-arg
|
Raise error on missing argument for single argument option
|
|
|
|
|
|
marg-missing-arg
|
Raise error on missing argument for multiple argument option
|
|
|
|
|
|
marg-arg-stop-at-on
|
Stop considering current command line argument as arguments of option when an option name is found
|
|
|
|
|
|
marg-arg-append
|
Append arguments of all multi-argument option apparition
|
|
|
|
|
|
marg-max-rule
|
Stop considering current command line argument as arguments of muoption if argument limit is reached
|
|
|
|
|
|
marg-invalid-arg-null
|
If argument does not validate multi argument specs, add as null value
|
|
|
|
|
|
grp-subgrp
|
Option group may contains sub groups
|
|
|
|
|
|
grp-set-cascade
|
Mark all parent groups as present (set) when a sub option is set
|
|
|
|
|
|
xgrp-same-option
|
The same option of an exclusive group can appear more than once without error
|
|
|
|
|
|
xgrp-mutex
|
Check mutual exclusion rule in exclusive groups
|
|
|
|
|
|
sc-name
|
A sub command name must appear as the first positional argument
|
|
|
|
|
|
sc-alias-name
|
Always report active subcommand by its main name, even if an alias was used on the command line
|
|
|
|
|
|
sc-options
|
Subcommand options support
|
|
|
|
|
|
on-aliasing-before-sc
|
Aliased option names positioned before subcommand name refer to program-scope options
|
|
|
|
|
|
on-aliasing-after-sc
|
Aliased option names positioned after subcommand name refer to subcommand-scope options
|
|
|
|
|
|
on-firstarg-exception
|
Ignore option name if the previous command line argument is a single/multiple argument option name (without combined argument)
|
|
|
|
|
|
son-combined-arg-at-last
|
A (multi)argument option appears in the short option name combination
|
|
|
|
|
|
lon-arg-combined-switch
|
Silently ignore switch combined argument if the value Is empty
|
|
|
|
|
|
lon-arg-combined-empty-arg
|
Accept the empty string as a valid argument when long option names with combined argument is used (--arg=)
|
|
|
|
|
|
eoa-outofcontext
|
Ignore eod-of-argument behavior outside of multi-argument option parsing
|
|
|
|
|
|
eoa-firstarg-exception
|
Do not consider – as the first argument of the current multi argument option
|
|
|
|
|
|
escape-eoa
|
Escape end-of-arguments marker by prefixing it with a backslash
|
|
|
|
|
|
escape-eoo
|
Escape end-of-options marker
|
|
|
|
|
|
escape-son
|
Escape short option name markers
|
|
|
|
|
|
escape-lon
|
Escape long option name markers
|
|
|
|
|
|
escape-unescape
|
Remove leading backslash when escaped marker is stored as (positional) argument
|
|
|
|
|
|
parse-unexpected-option
|
Parse option normally even if the option breaks a mutually exclusive rule
|
|
|
|
|
|
parse-call-all-validators
|
Call all argument validators (even if a preceding one failed to validate)
|
|
|
|
|
|
postproc-required
|
Look for missing required option
|
|
|
|
|
|
postproc-required-in-xgrp
|
Inside exclusive groups, the required rule for option O applies only if the group selected option is O or an ancestor of O
|
|
|
|
|
|
postproc-marg-minmax
|
Minimum and maximum argument count rules are checked after all command line argument were parsed
|
|
|
|
|
|
postproc-sarg-default
|
Set single argument default value if the option was not present and does not break mutual-exclusion rule
|
|
|
|
|
|
postproc-unset-option
|
Unset present options which does not validate the post-processing phase
|
|
|
|
|
|
validation-number
|
Check if argument is a number
|
|
|
|
|
|
validation-number-range
|
Check if a number argument is between a given interval
|
|
|
|
|
|
validation-pathexists
|
Validate existence of filesystem item existence
|
|
|
|
|
|
validation-pathaccess
|
Validate filesystem item permissions
|
|
|
|
|
|
validation-pathkind
|
Validate filesystem item kind(s)
|
|
|
|
|
|
validation-enum
|
Validate restricted value
|
|
|
|
|
|
msg-e8-once
|
Report Error #8 only once
|
|
|
|
|
|
msg-e9-once
|
Report Error #9 only once
|
|
|
|
|
|
List of messages that the parsers raise during command line argument processing
Level
|
Code
|
Message
|
Description
|
Shell
|
Python
|
C
|
PHP
|
|
Fatal error
|
1
|
Unknown option <option-cli-name>
|
The option name does not correspond to any name described in the program interface XML definition
|
|
|
|
|
|
Error
|
1
|
invalid value for option <option-cli-name>. <expected-values>
|
The option value does not validate one or more rule of the option's value validators
|
|
|
|
|
|
Error
|
2
|
Invalid value for positional argument <number>. <expected values>
|
The option value does not validate one or more rule of the positional argument's value validators
|
|
|
|
|
|
Error
|
3
|
Missing argument for option <option-cli-name>
|
The argument of a single or multiple argument is missing
|
|
|
|
|
|
Error
|
4
|
Missing required option <option-cli-name>
|
An option marked as required in the program interface XML description file is not present on the command line
|
|
|
|
|
|
Error
|
5
|
At least one of the following options have to be set: <option-cli-name1 ...>
|
|
|
|
|
|
|
Error
|
6
|
One of the following options have to be set: <option-cli-name1 ...>
|
|
|
|
|
|
|
Error
|
7
|
Required positional argument %d is missing
|
An positional argument marked as required in the program interface XML description file is not present on the command line
|
|
|
|
|
|
Error
|
8
|
Program does not accept positional arguments
|
|
|
|
|
|
|
Error
|
9
|
Subcommand <sc-name> does not accept positional arguments
|
|
|
|
|
|
|
Error
|
10
|
Too many positional arguments
|
There is more positional arguments in the command line than the maximum expected by the program or the subcommand
|
|
|
|
|
|
Error
|
11
|
At least <number> arguments required for <option-cli-name>
|
A multi argument option is present on the command line but the number of argument does not validate its minimal argument count restriction
|
|
|
|
|
|
Error
|
12
|
Unexpected option <option-cli-name>
|
An option conflicts with another due to exclusive group restriction
|
|
|
|
|
|
Error
|
13
|
Option <option-cli-name> does not allow an argument
|
An argument was given to a switch by combining the value to a long option name
|
|
|
|
|
|
Warning
|
2
|
Ignore end-of-argument marker
|
The 'end-of-argument' marker '-' was set as the first argument of a multi-argument option
|
|
|
|
|
|