Commit graph

43 commits

Author SHA1 Message Date
mark_story
5f90ac2b45 Adding width wrapping to the generated help. Should help with having content that is too long. 2010-10-14 23:21:56 -04:00
mark_story
10090696a0 Making boolean switches behave.
Boolean switches always show up in the parsed options.  When left undefined they insert a false, and when included they insert a true.  This makes working with them require less checks.
2010-10-13 23:18:26 -04:00
mark_story
b328276289 Adding default values into the parsed output.
This makes it so options with default values are always part of the parsed options regardless of whether or not they were included.  This will allow shells to include less logic checking for existence of parameters.
2010-10-13 23:18:26 -04:00
mark_story
2af684cbec Fixing issue where exceptions for missing required arguments would be raised when trying to get help. 2010-10-13 23:18:26 -04:00
mark_story
0fd8d2b8e4 Adding addSubcommands, and support for subcommands to buildFromArray.
This makes the API consistent across all the elements of ConsoleOptionParser.
2010-10-13 23:18:26 -04:00
mark_story
577603fbd9 Adding documentation, and improving error messages. 2010-10-13 23:18:26 -04:00
mark_story
99407e788f Fixing issue where choices would not be correctly validated. 2010-10-13 23:18:26 -04:00
mark_story
970a6c8d79 Adding the ability for parse() to use a subcommand parser.
Adding text on how to get help on subcommands.
2010-10-13 23:18:25 -04:00
mark_story
b5630a5e30 Making description() and epilog() accept arrays. 2010-10-13 23:18:25 -04:00
mark_story
7a31eb41e9 Adding ability to define a subcommand parser as an array.
This makes defining subcommands a bit easier as you don't have to build a pile of objects first.
2010-10-13 23:18:25 -04:00
mark_story
b398877887 Adding missing default value. 2010-10-13 23:18:25 -04:00
mark_story
ed0476861e Adding documentation for choices options. 2010-10-13 23:18:24 -04:00
mark_story
4e91012144 Adding validation for positional arguments.
You can use choices option to give a list of valid values that an argument can have.
2010-10-13 23:18:24 -04:00
mark_story
56292b658c Adding option value validation to ConsoleOptionParser. 2010-10-13 23:18:24 -04:00
mark_story
49006b2bbb Adding accessor method. 2010-10-13 23:18:24 -04:00
mark_story
dc9a05d49c Extracting subcommand as a separate object.
This allows the internals of ConsoleOptionParser to be more uniform and consistent.
2010-10-13 23:18:24 -04:00
mark_story
8261581b3b Pulling out some duplicated code into methods. 2010-10-13 23:18:24 -04:00
mark_story
5e8222ef39 Pulling out classes into separate files. 2010-10-13 23:18:24 -04:00
mark_story
2774493577 Refactoring arguments into a separate object. 2010-10-13 23:18:24 -04:00
mark_story
12fba88528 Refactoring options into a separate object.
There are changes that need to be made for boolean and options with choices, and having a separate object will make them much easier to do.
2010-10-13 23:18:24 -04:00
mark_story
ad367fed9a Adding addOptions and addArguments as convience methods for adding multiple options/arguments. 2010-10-13 23:18:24 -04:00
mark_story
ab794b300e Adding support for help generating help for subcommands.
Adding tests for subcommand help generation.
2010-10-13 23:18:23 -04:00
mark_story
56339e05f3 Adding subcommand to help output.
Subcommands can be shell methods or tasks.  Both should support additional parsers.  Which is not complete yet.
2010-10-13 23:18:23 -04:00
mark_story
0d522f3bd4 Changing ShellDispatcher to use --help and -h like the option parser does. 2010-10-13 23:18:22 -04:00
mark_story
7f5b5c4fbd Adding exception for unknown option usage. 2010-10-13 23:18:21 -04:00
mark_story
d3c95bc2c4 Adding epilog and description to the generate help. 2010-10-13 23:18:21 -04:00
mark_story
501e63e45d Adding argument help generation in the long help and usage string.
Fixing output of option help, formatting was calculated in 2 places.
2010-10-13 23:18:21 -04:00
mark_story
09adc38b6c Doing some fixes as the longest option + a short would cause incorrect formatting. 2010-10-13 23:18:21 -04:00
mark_story
733394d584 Adding usage generation for options. 2010-10-13 23:18:21 -04:00
mark_story
cea6cef727 Adding smart defaults for verbose, quiet, and help options.
Adding help formatting for options.
2010-10-13 23:18:21 -04:00
mark_story
f5ad54e97e Adding required argument checking. 2010-10-13 23:18:21 -04:00
mark_story
505e59ac66 Adding support for boolean options. 2010-10-13 23:18:21 -04:00
mark_story
3e402e2dfb Adding support for positional arguments.
Adding tests and support for positional arguments. Renaming description
key to help as its shorter.
2010-10-13 23:18:21 -04:00
mark_story
6f1dae208c Adding method skeleton 2010-10-13 23:18:21 -04:00
mark_story
b392f300ba Adding docs about how options work. 2010-10-13 23:18:20 -04:00
mark_story
3b9921a390 Adding support for -abc style combination of short options.
Renaming shortcut to short as its shorter :)
2010-10-13 23:18:20 -04:00
mark_story
01a7fc70b7 Removing dead code. 2010-10-13 23:18:20 -04:00
mark_story
07bda824f0 Adding test for parsing multiple options. 2010-10-13 23:18:20 -04:00
mark_story
2c2c9a38d2 Removing required, and type from option flag as they didn't really make sense to include at this point. Adding support for --foo=bar type parameters. 2010-10-13 23:18:20 -04:00
mark_story
7b1b835bc1 Adding very basic implementation for parsing long and short options. 2010-10-13 23:18:20 -04:00
mark_story
d5d9adb92b Starting to implement options and option parsing. 2010-10-13 23:18:20 -04:00
mark_story
694537933e Adding description() and epilog() to ConsoleOptionParser. Starting to build out addOption. 2010-10-13 23:18:20 -04:00
mark_story
d914c0aaea Adding ConsoleOptionParser and its test. 2010-10-13 23:18:20 -04:00