textlintのAtomプラグイン
Published at 2015-09-20
azu/textlintというテキストのlintエンジンがある。Node.js製なのでCLI周りは既にあるが、エディタでもできたら良いなと思ってAtomのプラグインを作った。TextLintについては「textlintで日本語の文章をチェックする」という記事を見てもらえると良い。
プラグインのインストール
apm
コマンドでインストール、または Settings → Install から 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の基本的な作りとして、
- textlintが配置されているパスにあるプラグインを自動でロードする
- textlintコマンドを実行しているパスの
.textlintrc
を読み込んで実施するルールを選ぶ
のようになっている。プロジェクトディレクトリで各種コマンドを実行したりGulpのプラグインを使う場合は、これで何の問題も無いがAtomのプラグインを作ろうとすると
- AtomがバンドルしているNode.jsの実行パス(
/Applications/Atom.app/Contents/Resources/app.asar
)にtextlintを配置する - Atomで開いているディレクトリにあるプラグインを自動でロードする
- Atomで開いているディレクトリにある
.textlintrc
を自動でロードする
という振る舞いを実装しなければならなそう。IssueやらPull Request投げたらazuさんが光速で対応してくれた。
- feat(engine): add
TextLintEngine#loadRule
· azu/textlint@b23a91e - resolve path with context if passed · azu/textlint@901fabe
- setRulesBaseDirectory() and addRule() #23
タイトルと URL をコピーしました