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
27a4f3c0d7
Adding test to make sure tags that are unknown are not removed.
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
72e1a96a9a
Renaming a Shell::_getOptionParser -> getOptionParser
...
Made the method public so subparser help would be easy to wire up. Moving help generation above task invocation so it always displays.
2010-10-13 23:18:23 -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
3be24d0b0b
Adding subcommand docs for i18n shell.
...
Adding execute checks to shell, this is a temporary fix that stops extra clears being done.
2010-10-13 23:18:23 -04:00
mark_story
fe7c7a1b12
Adding some colour to Shell::createFile()
...
Removing the now dead Shell::help(). The OptionParser approach provides much better help information than this method did.
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
278f699fda
Updating extract task.
2010-10-13 23:18:23 -04:00
mark_story
41b8affa82
Updating i18n shell to start using new OptionParser class.
...
Removing more dead attributes from Shell. Making Shell::$name the name used to invoke the shell, not the classname. This makes it similar to other objects with names.
2010-10-13 23:18:23 -04:00
mark_story
2a2428a694
Updating ApiShell to use ConsoleOptionParser correctly.
...
Removing old help method.
2010-10-13 23:18:23 -04:00
mark_story
c0d15a420c
Changing name of parser attribute.
2010-10-13 23:18:23 -04:00
mark_story
f1ee46749b
Fixing failing tests in Schema shell.
2010-10-13 23:18:23 -04:00
mark_story
193721a0eb
Fixing notice errors in ShellDispatcher
...
Removing ShellDispatcher tests that are now inside Shell.
Changing exception type to match the one used in ShellDispatcher.
2010-10-13 23:18:23 -04:00
mark_story
e70089891d
Adding some more array_unshift. These fix issues where tasks would receive their name in the argv which is not correct.
2010-10-13 23:18:22 -04:00
mark_story
79d1739778
Adding tests for task methods in runCommand.
...
Moving startup() call to the dispatcher so nested runCommand calls don't double output the startup content.
2010-10-13 23:18:22 -04:00
mark_story
cea9dadaa2
Fixing ShellDispatcher::parseParams tests to reflect the changes in what they do.
...
Adding tests for Shell::runCommand().
2010-10-13 23:18:22 -04:00
mark_story
3d351e7760
Dramatically changing how ShellDispatcher and Shell interact.
...
Shell::runCommand is now responsible for delegating out to tasks and correctly checking methods to run. ShellDispatcher no longer parses parameters and instead only pulls out the path information that it needs to setup the environment.
2010-10-13 23:18:22 -04:00
mark_story
cd18c8214c
Adding Shell::hasMethod and tests for it.
2010-10-13 23:18:22 -04:00
mark_story
18c5a62445
Removing a dead test and adding tests for hasTask
2010-10-13 23:18:22 -04:00
mark_story
830238c2dd
Removing $this->AppModel from shells.
...
Having a partially constructed model in the shell is not useful, and
gives the impression that it will work correctly. Which it doesn't.
2010-10-13 23:18:22 -04:00
mark_story
fbcc9c1fc1
Making Tasks lazy load.
...
This allows task initialization to be moved out of ShellDispatcher where it does not belong, as tasks are similar to components. Updating parts of TaskCollection, as the Dispatcher is still required to be passed around.
2010-10-13 23:18:22 -04:00
mark_story
4d199cf8a8
Removing Shell::_loadDbConfig() and Shell::$DbConfig
...
They did not make sense in Shell as no other core shells even use these
properties/methods.
2010-10-13 23:18:22 -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
0eb68226ce
Adding ConsoleOptionParser to the AllShells test.
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
a3259743f7
Making error output style have an underline.
...
Adding a comment style which has blue text.
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
mark_story
41db1485aa
Updating test cases to use new objects.
...
Preventing ConsoleOutput and ConsoleInput constructors from being run as it causes too many files open exceptions.
2010-10-13 23:18:20 -04:00