该source-highlight
软件包已安装在我的系统上。它突出显示了我使用较少的使用/usr/bin/lesspipe
和LESSOPEN
环境变量查看的文件。
现在,我想更改此机制用于某些/所有文件类型的配色方案。我在机器上有root权限。我该怎么做呢?
注意:这是 Devuan 3 Beowulf (~= Debian 10 Buster) Linux 发行版。
答案1
好吧,您可以在源突出显示中使用不同的样式文件,但用量较少。在 中/usr/share/source-highlight/src-hilite-lesspipe.sh
,您会发现:
source-highlight --failsafe --infer-lang -f esc --style-file=esc.style -i "$source" ;;
您可以将 esc.style 替换为不同的样式文件(来自usr/share/source-highlight/
)。但是...大多数样式文件与发出 ANSI 转义码不兼容,并且无法工作。所以,你基本上被困住了。
也许尝试联系作者。
在 GNU 源代码突出显示手册中没有找到任何相关内容。
答案2
默认esc
值非常糟糕(版本 3.1.8),特别是对于黑色终端,因为函数名称打印为黑色。
我花了几个月的时间试图解决这个问题,终于找到了一个很好的解决方案。修改/usr/share/source-highlight/src-hilite-lesspipe.sh
为使用esc256
具有更大胆颜色的内置样式:
source-highlight --failsafe --infer-lang -f esc256 --style-file=esc256.style -i "$source" ;;
您可以在自己的样式文件中调整颜色,但我发现esc
->esc256
更改对于我经常在终端中使用less
.
对于选择性检测,您可以使用 lesspipe 脚本来检测文件类型,然后可能使用诸如-s, --src-lang=STRING
以不同语言样式启动源突出显示之类的选项。