ref-javaというref-sourceを作っています

https://github.com/kamichidu/vim-ref-java

まだ触りだけしか作ってなくて、ほぼ動かないに等しい状態ですが、Java用のref-sourceを作成しています。

refというのは、thincaさんが作成された、Vimからドキュメントを閲覧するためのVim Pluginです。 私は主にmanとperldocの閲覧に使っていました。 常々Javaのサポートが欲しかったのですが、先日json-docletというJavadoc用のDocletを作成したため、refを使ってJavadocが見たい欲求を叶えようとしています。

設計中の仕組みを、備忘を兼ねてメモ。


  1. mavenを使い、Maven Central Repositoryから依存するJarをダウンロード

    ここはPlugin側で自動的にダウンロードするより、-sources.jarをユーザが保持していることを前提としたほうが良くないか、と悩んでいます。 要検討。

  2. ダウンロードしたJarに対して、json-docletを使用してjson形式のJavadocファイルを作成

    json-docletで出力するファイルは、元のJarに対してディレクトリ構造を保持したままref-java用のキャッシュディレクトリに格納する。 もしくは、ref本体のキャッシュ機能に任せてしまって、ref-javaは独自にキャッシュの管理は行わない。

    Jarの内容が変化することを考えて、キャッシュを行うのは前回キャッシュを行ってから変更のあったJarのみとする。

  3. 作成されたJavadocファイルを、ref-javaから読み込み、ユーザからのクエリに従って表示

    Javadocファイルは複数になるため、読み込み終わったタイミングでJavadoc情報のマージを行う。 描画時には、wwwrenderer-vimを使用する。 ただし、HTMLのより良い表示と速度のため、別の手段を考える必要があるかもしれない。

    ユーザからのクエリについては、使い勝手を考慮して独自の解釈を行う必要があるかも。

    このとき、クラスドキュメントの表示、メソッドやフィールドドキュメントの表示について、別途対応したい。

comments powered by Disqus