USSR#1: neocomplcache ソースコード読解会
Posted at 2009/12/22ツイート
今日は neocomplcache-4.0.3/autoload/neocomplcache.vim
を読みました。
勉強会チャットログはこちら: http://lingr.com/room/vim/archives/2009/12/22
特にしっかりと読んだ関数:
function! neocomplcache#enable()
function! s:complete()
function! s:integrate_completion(complete_result)
APIとなるneocomplcache#
ではじまる関数群がautoload/neocomplcache.vim
の上部にまとめて定義されています。
また、内部で使う関数群が続いて下部にスクリプトローカルで定義されています。
興味深い部分の抜粋:
echo ''
redraw
redraw!
だと画面がちらつくので、そういうときはこの二行で、ということだそうです。
まとめ
“neocomplcacheのソースコードは魔界“
コード自体はすばらしく整理されているものの、 Vim自体とその周囲の問題を解決するために涙が止まらない努力が随所に見られます。
- ATOK
- 画面のチラツキ
- 速度 (skip)
- プラグイン
- 補完の統合
- 頻度解析
もどる
blog comments powered by Disqus