Skrypt CLI z autouzupełnianiem [SOLVED]

Postanowiłem pisać swoje skrypty systemowe w Ruby zamiast jak do tej pory w Bashu… Zacząłem od nauki “optparse” do handlowania parametrów, ale apetyt rośnie w miarę pisania i zachciało mi się autouzupełniania (completion) zsh… Niby w dokumentacji optparse jest wzmianka
http://ruby-doc.org/stdlib-2.3.0/libdoc/optparse/rdoc/OptionParser.html#class-OptionParser-label-Shell+Completion

For modern shells (e.g. bash, zsh, etc.), you can use shell completion for command line options.

Ale jak to ugryźć to nie mam pojęcia, jeśli ktoś umiałby mi pomóc - stawiam piwo.
Zadowolę się dowolnym rozwiązaniem tworzącym autouzupełnianie w zsh (albo nawet w bash’u) byle było prostsze niż pisanie natywnych funkcji do autouzupeniania, które są strasznie magiczne, jak zresztą cały bash/zsh, od którego właśnie chciałem uciec…

Musisz najpierw dodać skrypty opt_parse.bash do ~/.bashrc (lub analogicznie *.zsh).


Potem definiujesz rb_completion skrypt.rb (w bashrc lub w shellu do testów).

Przykład wykorzystania masz w testach:

Super wielkie dzięki! Wreszcie mogę pisać sensowne skrypty…