genzshcomp 0.0.5 をリリースしました
Posted on Sat, 20 Feb 2010 18:23:52 +0900
PythonのオプションパーサオブジェクトからZsh補完関数を 生成するモジュール genzshcomp 。 ヘルプ文字列からZsh補完関数を出力する機能を追加して バージョン0.0.5としてリリースしました。
Usage
例としてpep8コマンドのZsh補完関数を出力する方法を以下に記載します。
$ pep8 --help > help.txt
$ genzshcomp help.txt > _pep8
補完関数自体の設定は以下のような感じです。 $HOME/.zshrc に以下の記載を追加して、 $HOME/.zsh/completion/ 配下に 先述の _pep8 ファイルを格納します。
## $HOME/.zshrc
fpath=(~/.zsh/completion/ $fpath)
autoload -U ~/.zsh/completion/*(:t)
autoload -Uz compinit
compinit -u
$ mv _pep8 ~/.zsh/completion/
$ source ~/.zshrc
Passion
動機としては、Zsh補完関数を出力するのに コード を書くのが面倒くさい、 というのが大きいです。ヘルプ文字列を一度出力する必要がありますが、 前よりは簡単にZsh補完関数を作成できるようになりました。
現在はPythonのoptparse.OptionParserで出力したヘルプ文字列にしか対応していないのですが、 今後は対応範囲を広げたいです。