nano 支持哪些短绒检查?

nano 支持哪些短绒检查?

在我的latex.nanorc文件中,我有以下说明:

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

但是,当我按键盘快捷键运行 linter 时,我收到一条错误消息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)无法理解消息的格式。 linter 是否必须遵守标准协议才能被 nano 识别?

答案1

编译器或 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:/'

相关内容