command-set version 0.9.0 has been released!
CommandSet is a interactive program framework. Its focus is a DSL for
defining commands, much like Rake or RSpec. The actual interpreter is
left as an open question, although a default readline based terminal
interpreter is included, it could very well be adapted to interact with
CGI or a GUI.
** Marked release 0.9.0 **
Command-sets can now have arguments, which their commands
can partake of using the parent_arguments method.
CommandSets retain their arguments if used as a mode, so it’s now easy
something like “config virtual web_servers” and have “web_servers”
as an argument to child commands - and also have “config virtual
add ip_17” and have that work as you might expect. (If you’ve used IOS
Some back end changes - including (and huge) a visitor pattern that
over positional command processing, completion, and other “where am I
sub_command arguments - so that you can more naturally group commands
share arguments and issue commands like “tell seven delete” or
Subject based argument bases. Otherwise, how do we refer easily
to elements of the subject. Besides, why do complete, validate and
all take a “subject” parameter? This was why.
Updated DSL::Formatting - now list and item stuff works from anywhere
Removing diagramming as an option: not portable enough