I’d like to be able to use ruby’s OptionParser to parse sub-commands of the form
COMMAND [GLOBAL FLAGS] [SUB-COMMAND [SUB-COMMAND FLAGS]]
like:
git branch -a
gem list foo
I know I could switch to a different option parser library (like Trollop), but I’m interested in learning how to do this from within OptionParser, since I’d like to learn the library better.
Any tips?
Figured it out. I need to use
OptionParser#order!. It will parse all the options from the start ofARGVuntil it finds a non-option (that isn’t an option argument), removing everything it processes fromARGV, and then it will quit.So I just need to do something like: