我想使用emacs的批处理模式来渲染文件并退出,以带有ANSI转义代码的形式将已着色的缓冲区转储出来,从而在终端上显示适当的语法突出显示。是否有任何方法可以做到这一点?
看起来,ansi-lpr.el库似乎是我想要的,但输出没有颜色。我无法弄清楚如何克服最后的障碍 - 有许多模块可以将ANSI转义代码消化成Emacs文本属性(例如ansi-color.el),但我还没有找到做反向操作的东西。如果有人能指出一些这样的东西,我认为我可以拼凑出剩下的部分。
或者,我看到了一些hacky的方法,比如这个答案(使用
这里的总体动机是在
看起来,ansi-lpr.el库似乎是我想要的,但输出没有颜色。我无法弄清楚如何克服最后的障碍 - 有许多模块可以将ANSI转义代码消化成Emacs文本属性(例如ansi-color.el),但我还没有找到做反向操作的东西。如果有人能指出一些这样的东西,我认为我可以拼凑出剩下的部分。
或者,我看到了一些hacky的方法,比如这个答案(使用
script
并捕获输出),但在我的实验中,这种方法似乎不太可能成功 - 你会得到大量不想要的控制序列混杂在突出显示的文本中。这里的总体动机是在
$LESSOPEN
管道中使用emacs来进行语法突出显示,以便在分页文件时获得语法突出显示。如果你要说这个,我已经尝试过,“只需在Emacs中分页文件”对我来说是不可接受的。