私のlatex.nanorc
ファイルには次の手順があります。
syntax "LaTeX" "\.(la)?tex$"
linter lacheck
ただし、リンターを実行するためにキーボードショートカットを押すと、エラーメッセージLa commande « lacheck » n'a produit aucune ligne analysable
(The '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:/'