nanoはどのリンターをサポートしますか?

nanoはどのリンターをサポートしますか?

私のlatex.nanorcファイルには次の手順があります。

syntax "LaTeX" "\.(la)?tex$"
linter lacheck

ただし、リンターを実行するためにキーボードショートカットを押すと、エラーメッセージLa commande « lacheck » n'a produit aucune ligne analysableThe 'lacheck' command did not produce any analysable lines例:英語)が表示されます。

私のtexファイルから直接実行すると、lacheck次のような出力が生成されます。

"article.tex", line 21: missing `\ ' after "e.g.".

私の考えでは、nano(バージョン5.8)がメッセージ形式を理解していないようです。ナノが認識するには、リンターは標準プロトコルに従う必要がありますか?

答え1

コンパイラまたはリンタエラーメッセージの事実上の標準形式があります。これは次grep -nのとおりです。実験的に、nanoはこれをサポートします。他のフォーマットをサポートしているかどうかは見ていませんが、とにかくlacheckのフォーマットはサポートしていません。FILE_NAME:LINE_NUMBER:MESSAGE

lacheckコマンドのラッパーを定義し、メッセージを標準形式で書き直してから、lacheckを直接呼び出すのではなく、nanoにラッパーを呼び出すように指示できます。

#!/usr/bin/env bash
set -o pipefail
lacheck "$@" 2>&1 | sed 's/^"\([^"]*\)", line /\1:/'

関連情報