Hatena::Grouphackathon

zrail (a.k.a. tobira17, h14i, ...) の Learning Log

2017-03-30

[]テキストエディタの入力補完についてのメモ 23:56 テキストエディタの入力補完についてのメモ - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - テキストエディタの入力補完についてのメモ - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

まぁ一応Vimmerなのでキーワード補完、つまりバッファ内外の連続した&isk文字列の補完があれば別に問題ないよな、と思っていたんだけど、微妙に考えが変わってきたかも知れない。

というのも下に書いた二つの状況が重なったらつらいなと思ったからです。実際には同時に体験してないので本当につらいかどうかは分かりません。


今どきはマシンパワー余ってることも多いんだし、タイポとかシンタックスエラーの類の検出みたいな難しい処理は処理系に任せて、テキストエディタみたいな開発のUI部分は(体感的な)速度が一番重要だ、と思ってたんです。

だって今どきの処理系ってビルド始めてもソースがおかしければすぐエラー吐いて止まるじゃん?

でもそうじゃない処理系があるんだなぁと。mltonとか。いやmltonはそういう風に使うもんじゃない、っていうのは分かるけど、mlton以外にもまぁきっとあるよね。(なんか一つのファイルをコンパイルするのにもめっちゃ時間掛かるんだけど、こういうもんなの?)


で、補完の話に戻るけど、上で書いたキーワード補完だとキーワードに見えれば何でも補完してくれてすげー便利なんです。

でも、(Vimの設定的には)キーワードに見えて、(人間の目の)ぱっと見にはソースコード内に出現する文字列に見える、でも実はコメント内にあったタイポ、みたいなケースに当たってハマりかけたんです。ハマんなかったけど。

それでキーワード補完は便利で快適だけど困ることもあるなと。もうちょっと賢いキーワード補完も欲しいなと。


すぐ思い付く解決策としては、もし処理系が自分のASTにアクセスするAPIを公開してるならそこからトークンだけ貰ってくる、とか?

まぁこれだと動的型付け言語の場合は代入のタイミングにやらかしたタイポは防げないですね。


バックグラウンドで監視、変更の都度コンパイル、エラーが出たらそれを注意深く読む、でいいじゃんとも思うけど、夢がない。