Help language development. Donate to The Perl Foundation
An advance command line parse tool replace Getopt::Kinoko
Getopt::Advance
is a powerful command line option parsing module, it
suppot many style such as: unix-style
、gnu-style
、bsd-style
.etc.
It support Hash
、Array
option compared to traditional command line
tools. In addition, it also support radio
、multi
group mechanism
which can manage option realtionship. And to handle non-option argument,
it provide main
、pos
and cmd
feature.
``` raku use Getopt::Advance;
my OptionSet $os .= new();
$os.push( "h|help=b", "print help message.", callback => sub ($, $) { say "The h option is set by user"; });
&getopt($os); say "Exit!";
### With react ``` raku use Getopt::Advance; my OptionSet $os .= new(); $os.push("h|help=b", "print help message."); react { whenever $os.Supply("h") { say "The h option is set by user"; } whenever &getopt($os) { say "Exit!"; done; } }
The feature support by this module, more information please refer documents.
Option with type
Long and short option supported, such as -o
and --option
.
X-style option supported, such as -option
.
Combing-style option supported, such as -abc
is same as -a
-b
-c
.
BSD-style supported, such as abc
is set the boolean option
a
, b
and c
.
Multiple style provide option arguments, such as -a=b
, -a b
,
-ab
is mean set the value of option a
to b
.
Deactivate-style support, mean you can disable some option by
using -/o
.
Type supported, such as Boolean
, Integer
, Array
, and
String
, i.e. will check the option argument provide by user.
Non Option with index
Sub command supported, it can provide different feature to user,
such as script.p6 add …
and script.p6 del …
.
Position argument base on index supported, such as
script.p6 <file>
will capture the first non-option argument
provide by user.
Main function supported. Main function will call with all the non-option arguments.
Option rule
With radio
group, can only set one by user, or must set one by
user.
With multi
group, can limiting the options set at least one.
Must be set by user if optional of option is False.
Callback of Option/Non Option
Auto-generated help, version message
It can generate help and version message for you.
If autohv
is set, it can automate print help or version
message when corresponding option set by user.
PreParser
Interrupt the program
ga-want-helper
, you can interrupt the program
and print help immediately.Default value of Option
Load option from class/sub (not implement)
Load from the configure file easily
Thing can Custom by user
Help generator.
Option Parser.
Style supported and the priority of them.
The order of Option
value assignment and Pos
, Cmd
process.
A script display the copy progress.
pdnf added some sort command to dnf(package manager of some linux distribution).
``` shell $ ./find-file.p6 Usage: ./sample/find-file.p6 [directory] OPTIONs
-d specify file type to directory
-v|--version print program version.
--size=
-? same as -h.
-h|--help print this help.
-f specify file type to normal file
-l specify file type to symlink
<div class="formalpara-title"> **find** </div> ``` shell $ ./find-file.p6 ../t '1\d.*t$' ../t/11-bsd-style.t ../t/10-x-style.t
install with zef
zef install Getopt::Advance
The MIT License (MIT).
Update documents
Update subs feature