Gaucheのリファレンスを検索するlocal CGI
w3mからローカルのGauche リファレンスマニュアルを検索するlocal CGIです。REPLから使えるinfoやaproposで十分なことも多いですが、w3mも一緒に使うことが多いので書いてみました。Gauche 0.9.1以降が必要です。
インストール
w3m-gref-0.1.tar.gzをダウンロードして展開します。
$ curl -L http://github.com/downloads/teppey/w3m-gref/w3m-gref-0.1.tgz | tar xzf - $ cd w3m-gref-0.1 $ ls MIT-LICENSE.txt README setup.scm w3m-gref.cgi
もしくはgithubからcloneしてください。
$ git clone git://github.com/teppey/w3m-gref.git $ cd w3m-gref
次にデータベースを作成します。setup.scmにリファレンスマニュアルのアーカイブのURLを渡すと、ダウンロード・展開したのち、それを元に$HOME/.w3m-gref/内へデータベースを作成します。すでにリファレンスマニュアルのアーカイブやそれを展開したディレクトリを持っている場合、setup.scmにそれらを指定することもできます。
$ gosh setup.scm http://practical-scheme.net/gauche/vault/gauche-refj.tgz $ cp w3m-gref.cgi $HOME/.w3m/cgi-bin $ chmod +x $HOME/.w3m/cgi-bin/w3m-gref.cgi $ echo "gref: file:/cgi-bin/w3m-gref.cgi?%s" >> $HOME/.w3m/urimethodmap
w3m-gref.cgiをコピーして、urimethodmapにエントリを追加すれば完了です。
ちなみに"gref:"というprefixは好みのものに変更してもらって構いません。
使い方
gref:<トピック>で検索します。<トピック>には手続き名・モジュール名・リファレンスのセクション名などが指定できます。結果が一意に決まる場合は該当するページを表示し、複数の検索結果があった場合はそれらがリスト表示されます。
gref:/<パターン> あるいは gref:<パターン>/とすると、<パターン>を正規表現と見なして検索します(前後を'/'ではさんでもOK)。
末尾の'/'の後に'i'が与えられると大文字小文字を区別せずに検索します。
'/'で終わるパターンは、末尾の'/'をバックスラッシュでエスケープしてください。
gref:call/
gref:call\//
よかったら使ってみてください。おかしなところを見つけたら、コメントやTwitterで教えてもらえるとありがたいです。