2009年11月10日火曜日

neocomplcacheのToDo

本日、neocomplcache Ver.3.11がリリースされました。
http://github.com/Shougo/neocomplcache/tree/v3.11
クイックマッチの復活やメンバ補完の実装、ファイル名補完の自動呼び出し等、
新機能が目白押しなので、是非お試しください。

さて、neocomplcacheの目玉機能もほぼ実装し終わったので、忘れないうちにneocomplcacheで今後実装するであろう機能についてメモしておきます。

キーバインドにより、一時的に補完関数を呼べるようにする。
inoremap <expr> neocomplcache#call_complfunc('hoge')みたいな感じ。

->Ver.4.xxに、completefunc_completeを作成して実装予定。
->実装しました。

現在プラグインごとに実装している、候補のキャッシュを統合し、簡単に利用できるようにする。
->早めに実装したいところ。Ver.3.22にて、一部のルーチンは統合。次はバッファとタグを統合する予定。
->Ver.4.00にて、完全に統合した。Ver.4.xxではファイルタイプごとに頻度情報を利用したい。

・ヘルプをそろそろ見直しておく。特に英語ヘルプが追いついていない。
->Ver.3.15で英語ヘルプは大体見直した。一度総点検が必要だが……。

buffer_completeのキャッシュ構造を見直し。
candidatesは削除。
->candidatesはVer.3.13で削除。代わりにInsertLeaveでキャッシュをするようにした。行の変更関知は保留。buffer_completeのキャッシュはVer.4.00で大改造して、満足のいくものになった。

・インクルード補完やタグ補完で_や~から始まる候補を削除するため、g:NeoComplCache_TagsFilter[filetype]を追加。キャッシュを構築するときにフィルタリングする。
->Ver.4.02で実装予定。

・インクルード補完のキャッシュはファイルタイプ変更時に構築し直すようにする。インクルード補完でキャッシュするのは少しずつ行う。buffer_complete.vimのようなデータ構造を持つようにする。

・現在インクルード補完では、パターンの解析に'include'を使用している。ただし、初期値がC/C++形式なので問題。filetypeがC/C++でない場合は'^\s*#\s*include'を使用しない。

・オプションを追加する。
g:NeoComplCache_AutoCompletionTime
自動補完のポップアップメニューが出るための時間
g:NeoComplCache_EnableCompletionMovedI
CursorHoldIではなく、CursorMovedIのタイミングで自動補完する。以前のneocomplcacheに近い挙動。

-> CursorHoldIには候補がなくなった際に呼ばれないという致命的な不具合があるので、Ver.3.12で廃止した。Ver.3.21にて、キーが入力されていたらスキップするように修正。

・snipMateのスニペットディレクトリを自動認識する
-> Ver.3.12で実装。

buffer_complete, snippets_complete以外のプラグインもComposite filetype(php.symphonyみたいなもの)に対応させる。
->Ver.4.07で実装。

・filetype pluginの実装、vim_completeのfiletype plugin化。
->Ver.4.xxで実装予定。

・vim_completeにおいて、Dictionaryの要素も解析する。
->Ver.4.xxで実装予定。

0 件のコメント:

コメントを投稿