今日の作業・補完パッケージ作成

製作中の補完パッケージについてまとめてみる.
どんなものかというと, 昔作った dabbrev-expand-multiple の拡張バージョン.
以下のことをできるようにする予定

  1. 補完方法として, 縦型インラインも使えるようにする
  2. dabbrev-expandだけでなく, 他の関数にも対応する
  3. 連続して補完候補を表示するような機能を作る

1番目は, もう実装した.
縦型インラインで補完ができるようにする理由は, 以下のような感じ.

  • ポイントのすぐ近くに候補を表示することで目が上や下にいったりきったりしないようにする.
  • ウィンドウを分割していた状態で補完を実行してもウィンドウ構成を壊さないようにする.
  • 大量の候補を一度に表示して混乱する, のようなことがないように適度な量を一度に表示する.

2番目が一番力入れたいところ.
予定では, 少くともlisp-complete-symbolとinfo-complete-symbolには対応する予定やった.
んでそれらも移植した.


3番目は, 補完を実行したり, 行が変わったりしないかぎり連続して補完候補を表示しつづけるというもの.
例えば, lisの時点で補完を実行するとその時点でのlisから始まる候補を表示する.
んで, listとtを押したら, listから始まるのに候補の表示が切り替わる.
補完候補の表示の終了は, 行がかわったり, 補完する対象がかわったり, バッファがかわったりすると終了.
一応, まだ問題ありそうだけど, これもでけた.



今悩んでいるのは, find-tagsをどうするか.
また, icomp-tags-complete-symbolとか作ってもいいんだけど, 他のと統合したいなあ.
特にinfoのと. infoによる補完がない場合をどうするかとかが問題.
普通に補完候補なかった場合, tagsのみで大丈夫かなあ.
どっかで何かエラー吐きそうな気がする.
あと予定としては, 各言語毎に補完を・・・とかやってみたいなあ.
全然どうするかとか頭にまだないんだけどねw


とりあえずまだまだ問題ありそうだけど置いといてみる.
まだまだテストバージョン.

もし試してみた人が居たら, なんかコメントくれると嬉しいです.
ここのコメントでもメールでもいいんで.

更新時刻

2008年, 1月14日, 5:00