basyura's blog

あしたになったらほんきだす。

るりまを引く wwwrefe.vim を書いてみた

"るりま" こと、オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル を vim から引いて表示するプラグインを書いてみた。車輪の再発明しまくりなのは認識済み。

理由

  • ri : 英語だし良く分からんし
  • refe : gem が古くて動かんし最新版のセットアップだるいし
  • vim から見たいし

使い方

:Unite wwwrefe

または

:WWWRefe クラス名#メソッド名

:WWWRefe で引く場合はクラス名とメソッド名を補完するようにしています。

どうやっているか

  • lib/dump.rb で lib/source.list にあるクラス名からメソッドを抽出して、data フォルダ配下に展開
  • wwwrefe.vim から data/* のファイル名からクラス名を抽出し、中身からメソッドの一覧を抽出
  • クラス、メソッドが選択されたら http://doc.okkez.net/static/193/doc/index.html から html を取得して vim のバッファに markdown になるべく準拠して展開(かなり適当)

html を取って、なんちゃって markdown 形式に変換する部分は、mattn さんの wwwrenderer-vim を改造して取り込んでいます。(wwwrender-vim を使うから wwwrefe って名前に・・・)

html を取りに行くところが問題で、url の生成ルールがいまいちわからず、継承関係をたどって url を生成しつつ 404 か 200 かで表示するか、再度取りに行くかを判定しています(迷惑)。

今後の展開

  • かなり適当にやってるのでなんとかしたい
  • url の生成をきちんとやりたい
  • 標準ライブラリ以外にもいろいろ取り込みたい

けど、なんだか疲れたので未定(なのでリリース資源も中途半端)。

まとめ

もっと "るりま" を活用しましょう!