Nano
nano 支持哪些 linter?
在我的
latex.nanorc
文件中,我有以下說明:syntax "LaTeX" "\.(la)?tex$" linter lacheck
但是,當我按下鍵盤快捷鍵執行 linter 時,我收到一條錯誤消息
La commande « lacheck » n'a produit aucune ligne analysable
(即The 'lacheck' command did not produce any analysable lines
英文)。當我
lacheck
在我的 tex 文件上自行執行時,它會產生以下輸出:"article.tex", line 21: missing `\ ' after "e.g.".
我的猜測是 nano(5.8 版)不理解消息的格式。是否有一個 linter 必須遵守的標準協議才能被 nano 辨識?
編譯器或 linter 錯誤消息有一個事實上的標準格式,其格式與
grep -n
:相同。在實驗上,nano 支持這一點。我沒有研究它是否支持任何其他格式,但無論如何它不支持 lacheck 的格式。*FILE_NAME*:*LINE_NUMBER*:*MESSAGE*
您可以為 lacheck 命令定義一個包裝器,以標準格式重寫其消息,並告訴 nano 呼叫該包裝器而不是直接呼叫 lacheck。
#!/usr/bin/env bash set -o pipefail lacheck "$@" 2>&1 | sed 's/^"\([^"]*\)", line /\1:/'