A list of TODO tasks sorted by priority if you are interested in improving
MooseX::App
* Alias command names (Difficulty:Medium)
* Permute (Difficulty:Medium)
* see Getopt::Long permute
* "--attr val1 --attr val2" vs. "--attr val1 val2"
* Better support for Hashref attrs (Difficulty:Medium)
* optionally use colons (or any other character) instead of equal signs
as key-value separators
* allow to specify multiple pairs in one attribute. ie. instead of
--hash key=value --hash anotherkey=anothervalue
allow the following syntax
--hash key=value anotherkey=anothervalue
also see permute
* Getopt::Long compatibility (Difficulty:Medium)
* coordinates=f{2} - Accept multiple values per key (see permute)
* ! - Negation
* Nested subcommands (Difficulty:Medium-Hard)
* ie. "mycommand.pl some command" would translate to
"MyCommand::Some::Command"
* How to distinguish between subcommands and positional params?
* Make sure that help handles subcomands (ie. "mycommand.pl some help"
returns a list of available subcommands for "some")
* Make sure that the typo plugin handles subcommands
* Handle type constraint unions (Difficulty:Easy)
* generating description for attributes
* Better positional param detection (Difficulty:Medium)
* Term plugin (Difficulty:Easy)
* History callbacks
* Bash completiton plugin (Difficulty:Easy-Medium)
* Handle enum type constraints
* Hide in help (?)
* Hide bash completion from bash completion
* Documentation
* General improvements
* Extend tutorials
* Clarify and highlight MooseX::App::Simple
* Add recipes (aka Moose recipes)
* Better error messages on unrecognised params (Difficulty:Medium)
* Improve "Did you mean ..." suggestions
* Suggestions if attribute was supplied with only one leading dash
* Rework Testsuite (Difficulty:Medium)
* Testsuite fixtures are currently a mess
* Allow alternative param/attribute syntax (Difficulty:Easy-Medium)
* I18N (Difficulty:Hard)
* Based on current user locale
* Register languages
* Register strings (ie by plugins)
* How to handle PODs?
* Language fallbacks
* Allow to specify command documentation in multiple languages
* Virtual attributes (Difficulty:Medium)
* Handled via callbacks
* Not sure if really needed - find workaround and add howto pod