auto-completeでファイル名補完

現在、auto-complete 1.0のリリースに向けてバグの修正やテスト、仕様の確定作業を行っています。中途半端に実装された機能は、今度ちゃんと実装することを念頭に置いて、ひとまずソースコードからは削除しています。オムニ補完機能によるファイル名補完機能も削除される機能の一つだったのですが、バージョンアップするにもかかわらず機能的な向上が一つもないのは微妙なので、実装してしまいました。

http://github.com/m2ym/auto-complete

上のURLから全てのelファイルをダウンロードしてインストールしておいてください(開発版です)。

後は次のコードを.emacsに書くなり評価するなりしてください。

(push 'ac-source-filename ac-sources)

適当なバッファでファイル名らしき文字列をタイプすれば自動的にファイル名補完が開始されます。

オムニ補完の仕様上、ac-sourcesの中にファイル名らしき文字列を補完するソースがac-source-filenameより先に存在する場合、正しくファイル名補完が開始されないことがあります。M-: ac-soucesなどで順番をチェックして、ac-source-filenameが先頭に来るようにしておいてください。

ac-auto-startをnilに設定している場合でも、M-x auto-complete(旧ac-start)を呼び出せばファイル名補完が開始されます。

蛇足ですが、eshellとauto-completeを組合せればかなり便利なシェル環境が作れるのではないかと思っています。今回のファイル名補完はその第一歩とも言えます。

意外とよい感じに動いているので調子にのってexpectでzshの補完候補を抽出するプログラムを作ったのですが、こまかい対応が面倒になってとりあえず放置してしまいました…またいつか…

あと、どなたか暇があれば上のURLのauto-completeをテストしていただけませんか。インストールして従来通り動作するかだけでも大変助かります。