genzshcomp 0.0.5 をリリースしました

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で出力したヘルプ文字列にしか対応していないのですが、 今後は対応範囲を広げたいです。