vim-users.jp

USSR#1: neocomplcache ソースコード読解会

Posted at 2009/12/22
このエントリーをはてなブックマークに追加

文責: ujihisa, Shougo, sorah

今日は 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