昨日テキスト校正くんが便利だという記事を書いたばかりではありますが、Visual Studio CodeではなくEmacsで書けるのが望ましいです。
いずれはテキスト校正くんと同様のチェックをかけたいものの、まずは以前textlint導入記事で導入したルールを使って判定するところまで持っていきます。
Emacs上での結果表示にはflycheck
という有名な拡張を使用します。
textlint再導入
textlintは.textlintrc
ファイルにより、プロジェクトごとに独自のルールによって文章校正が可能です。
とはいったものの、僕にとってそれはオーバースペックです。
個別のルールまでは不要のため、グローバルにtextlintを導入しました。
先日の記事でも導入した、textlint-rule-preset-ja-technical-writing
を利用することにします。
今回はグローバルにインストールしますので、-g
オプションをつけてインストールします。
% npm install -g textlint
% npm install -g textlint-rule-preset-ja-technical-writing
また、設定ファイルはホームディレクトリに設置します。
% cat ~/.textlintrc
{
"rules": {
"preset-ja-technical-writing": true
}
}
これでtextlintの導入は完了ですね。
flycheckの設定
Emacsユーザーでflycheckを使っている方は多いと思われますので、flycheck自体のインストールは割愛します。
こちらのGistを参考に、markdown-mode
でtextlintを使う設定を↓のように書きました。
(flycheck-define-checker textlint
"A linter for Markdown."
:command ("textlint" "--format" "unix" source)
:error-patterns
((warning line-start (file-name) ":" line ":" column ": "
(id (one-or-more (not (any " "))))
(message (one-or-more not-newline)
(zero-or-more "\n" (any " ") (one-or-more not-newline)))
line-end))
:modes (text-mode markdown-mode gfm-mode))
(add-hook 'markdown-mode-hook
'(lambda ()
(setq flycheck-checker 'textlint)
(flycheck-mode 1)))
この設定を評価後にMarkdown形式のファイルを開くとチェック結果がきちんと対象箇所に波線で表示されるようになりました。
校正くんが提供してくれる漢字を開くルールや技術用語に関するルールなどはおいおい取り込んでみたいと考えています。