Posted By: Daniel Eklund
Date: 2006-05-28 05:13
Summary: REL 0.2 Features and Samples
Project: Optiflag: A Ruby Command Line Parser DSL
The following features are implemented:
* required and optional flags
* ability to change flag arity from 0 to N
* flag value validation
-- by set membership
-- by regular expression
* flag value translation (pre and post validation)
* auto help
* auto error checking
* usage and extended usage flags
* universal flag symbol change
* case by case flag symbol change (both normal and long form)
* alternate forms for normal flag
* alternate form for long form flag
* auto-generated property-type methods added to ARGV for flag values post-parsing
* sub-clause verbs
-- 'description'
-- 'arity'
-- 'no_args'
-- 'one_arg'
-- 'two_args'
-- 'long_form'
-- 'translate'
-- 'value_matches'
-- 'value_in_set'
-- 'required'
-- 'optional'
-- 'alternate_forms'
-- 'long_form'
-- 'dash_symbol'
-- 'long_dash_symbol'
The following features are not yet implemented:
* universal change to long-form symbol
* enforced flag/argument ordering
* character flags ('ls -l -f -a' == 'ls -laf')
* specification error checking (for ambiguous flags)
* system to allow easier user override of help and error messages.
* conditionalized flagsets (so that one flag can trigger a recommended flagset. Useful for emulating things like the 'cvs, command set: 'cvs checkout -r ect.') |
|