Archive

asciidoc で textlint を使う

最近 asciidoc で日本語を書く機会が出てきて、せっかくなら textlint で校正しながらやりたいと思って環境を整えたら結構ハマったところがあるのでメモしておく

tl;dr

  • textlint は標準では markdown と plaintext のみ対応
  • asciidoc で利用するには seikichi/textlint-plugin-asciidoctor を導入すればいい
  • vscode-textlint で asciidoc も見るには設定で textlint.languagesasciidoc を追加する必要がある

textlint-plugin-asciidoctor を導入する

textlint は標準では markdown と plaintext のみ扱えるのでプラグインを導入する必要がある。現状だと以下のプラグインを導入するのが nodejs のみで完結するのでお手軽。

README にある通り npm install すれば OK (textlint 本体は導入済みと仮定している)

$ npm install textlint-plugin-asciidoctor

インストールできたら .textlintrc の plugin にも追記する

{
  ...
  "plugins": [
    "asciidoctor"
  ],
  ...
}

これでコマンド単体では textlint は asciidoc も扱えるようになる

VS Code で使う場合

VS Code で textlint を使う場合は vscode-textlint を使うことになる。

この vscode-textlint も標準では適用される形式に制限があるようで、少なくとも asciidoc のドキュメントは対象ではない。何か設定できないものかと調べると以下の PR で、textlint を適用するファイルの種類を指定できるようになっていた模様

ということで、以下のような感じで settings.jsontextlint.languagesasciidoc を追加すればOK

{
    ....
    "textlint.languages": [
        ...
        "asciidoc",
        ...
    ]

}

おまけ: Vim / Neovim で使う場合

neovim でも使えれば便利だろうなーということでこっちもやり方を調べたが、 efm-language-server 導入し、vim-lsp + vim-lsp-settings なり coc.nvim なりで efm-language-server の設定をすればいいことがわかった。

今のところ、coc.nvim でやっていて、設定内容的には以下の記事のものをそのまま利用させていただいてるという感じ。