microの textlint plugin(575)
愛用しているエディタで、コーディングではなく日本語を書く人はかなり多いでしょう。 文章を書くなら文書校正が要りますね。そんなときに便利なtextlint。 で、まあエディタ上から使いたくなりますよね。幸いにも僕の愛用しているmicro-editorは 拡張をlua(5.1)で書ける、ということで書きました。
使い方
textlintが入っている前提です。.textlintrcは通常のtextlint同様に用意してください。
microで編集中に Ctrl-e textlint
で該当行に表示が出ます。便利!!!!!
microのプラグイン作成
既存のlinter-pluginを参考にしました、というかほとんど構成が一緒。 JobSpawnで実行してもらって、出力結果を1行ずつ加工してGutterMessageに突っ込むというだけです。
ハマったところ
GutterMessageに送ったstringが、マルチバイト文字のところが一文字飛ばしになって表示されていてかなり時間をとった。結果から言うと重なって表示されていたために一文字飛ばしに見えていたというオチ。半角スペースをマルチバイト文字の間に入れていくという解決策を取りました。このためにutf8.luaを利用させてもらっていて、オリジナルの1ファイルで完結していないから公式のPlugin-Channelに乗せてもらうようPR出すのを躊躇っているところ。日本語をGutterMessageに使いたいときは毎度同じ手法を取る必要があるかもしれない。