徒然と何点か。
^L の処理を書き直した。vi や vim では、これは画面全体の再描画を行う。特に vim なんかでシンタックスハイライトさせている場合に、ときどき間違った色付けが間違って表示されることがある(たぶん、解析を見えている範囲の近辺部分でのみ行うからだと思う)。そんなときに ^L を押すとだいたい直る。直らないときもある。
一方 html ページに構築される wasavi において、再描画って? という話になる。そもそもそんな機能、不要なのだ。しかしそれはそれでもったいないので、^L を押すと 0.5 秒の間、wasavi を隠すことにした。つまり wasavi の下にある textarea/input をちょっとだけ確認できる。それの何が便利なのかは、よく分からない。
* * *
入門 vi のテストをちょっとだけ(2 テストだけ)書いてみた。2 章のものなので、基本的なモーションというレベルだ。この辺は既存のテストと丸被りしているのであまりする意味はないかもしれない。
* * *
:edit コマンドはスタンドアロンモードでのみ有効にしていたのだが、textarea を拡張した場合でも、引数なしで実行する(つまり、それまでの編集を全て捨て、textarea の元の内容で編集をやり直す)ことはできるようにした。
* * *
ところで iframe 内で実行される wasavi の本体は wasavi.js に全部入っている(正確には agent.js でも使用する部分は extension_wrapper.js に分離してある)。そうすると当然ながら、wasavi.js が超巨大になっている。現在 12751 行ある。これはよくない。github でソースを見るときもブラウザがほとんど固まってしまうし、pull request してくれる人(がいるのか知らないが)には弄りにくいだろうし、全部込みの弊害で割と変数をフリーダムに参照しているのもよくない傾向だ。とあるところで
an insanely complicated 11K line JS file
などと呆れられているが、「そのとおりでございます」と言う他ない。
これを上手く分割したい。