EagleLand

2015.09.20

textlintのAtomプラグイン

azu/textlintというテキストのlintエンジンがある。Node.js製なのでCLI周りは既にあるが、エディタでもできたら良いなと思ってAtomのプラグインを作った。TextLintについては「textlintで日本語の文章をチェックする」という記事を見てもらえると良い。

プラグインのインストール

apmコマンドでインストール、または SettingsInstall から linter-textlint で検索してもらうと出てくる。

$ apm install linter-textlint

使い方

Atomで開くプロジェクトに.textlintrcを配置し、プラグインやらオリジナルのルールを配置する。

例えばtextlint-rule-max-tenという一文に句点を3つ以上入れるなよというルールを使う場合、プロジェクトディレクトリでnpm install [--save] textlint-rule-max-tenを実行し、node_modules配下にルールをインストールする。次に.textlintrcを以下のように記述し、max-tenルールを有効にする。

{
  "rules": {
    "max-ten": true
  }
}

あとは、マークダウン形式を含めたプレーンテキストを開くだけ。

このようにチェックしてくれる。

Atomで開いているワークスペースのプラグインをロードする

textlintの基本的な作りとして、

  1. textlintが配置されているパスにあるプラグインを自動でロードする
  2. textlintコマンドを実行しているパスの.textlintrcを読み込んで実施するルールを選ぶ

のようになっている。プロジェクトディレクトリで各種コマンドを実行したりGulpのプラグインを使う場合は、これで何の問題も無いがAtomのプラグインを作ろうとすると

という振る舞いを実装しなければならなそう。IssueやらPull Request投げたらazuさんが光速で対応してくれた。