是否有任何工具可以让我为给定的语言指定语法高亮,然后为一些更常见的编辑器生成语法高亮文件?
我问,因为我正在开发特定于域的语言,并且我想为所述语言提供语法突出显示支持。但是,我不想为每个编辑器(Vim,Notepad ++,Visual Studio等)编写单独的语法高亮文件。
这种类型的翻译似乎是可能的,因为语法高亮的核心概念通常独立于您正在使用的编辑器。我只是不知道这样的事情是否已经存在。
答案 0 :(得分:2)
相当多的编辑使用scintilla(http://www.scintilla.org/)进行源代码编辑和语法高亮:例如Windows上的Notepad ++,gnome中的gedit,Code :: blocks。因此,您可以考虑向Scintilla添加语法定义。据我所知,这是为您的语言编写词法分析器的xml定义的问题(参见例如this page代码::块)
答案 1 :(得分:1)
我不知道这样的事情,但在我看来,制作起来会很容易。例如,可以创建基于XML的通用格式(以DTD / XSL方案的形式)并使用特定于编辑器的XSLT转换。然后,每个编辑器创建者(或其他人)将为其编辑器创建一个XSLT文件。对于每种新语言,都会创建一个XML。
最大的问题是指定至少满足这些标准的语言:
答案 2 :(得分:0)
(古老的问题/答案,但您可以继续使用)似乎值得一看的Iro,“一种旨在简化跨多个平台的语法突出显示工具的开发工具”-https://eeyo.io/iro/documentation/ 。我通过这篇中等职位找到了它:“介绍Iro-创建语法突出显示工具的简便方法”-https://medium.com/@model_train/creating-universal-syntax-highlighters-with-iro-549501698fd2