TODO in shellopts-2.0.0.pre.14 vs TODO in shellopts-2.0.0

- old
+ new

@@ -1,10 +1,18 @@ -o Somehow escape comments where a line starts with an option name -o 'help' should list commands in declaration order -o 'help' should use all levels by default -o 'help' should always include top-level options (try setting levels: 10 and - see top-level options are gone + +o Ignore all text after ' # ' (doesn't conflict with option flag) +o Command aliases +o Add user-defined setions +o Add a SOURCE section with link to git repo +o Bullet-lists +o Allow a USAGE section (and NAME) +o Find source in code an adjust line number in error messages +o Rename line and char to lineno and charno +o Client-defined argument types +o Rename Expr -> ? +o Find clean(er) procedural object model +o Allow assignment to options (this makes practical stuff easier) o Special handling of --help arguments so that '--help command' is possible o Support for paging of help: begin file = Tempfile.new("prick") file.puts HELP.split("\n").map { |l| l.sub(/^ /, "") } @@ -12,5 +20,29 @@ system "less #{file.path}" ensure file.close end ++ Bold text output ++ Recursive format of commands ++ Rename Compiler -> Interpreter + + +OLD + +o Fix that it is near unsable when the user doesn't do 'include ShellOpts' +o Subcommands can be parsed as well: + opts, args = Shellopts.process(OPTIONS, ARGV) + ... + opts, command = opts.process + case command + when ... + end +o 'help' should list commands in declaration order +o 'help' should use all levels by default +o 'help' should always include top-level options (try setting levels: 10 and + see top-level options are gone +o A ShellOpts#shift command that makes it possible for Array#expect to emit + relevant error messages + ++ Somehow escape comments where a line starts with an option name ++ Parse and check enumeration arguments ('--debug=tokens|ast|idr|...')