是否有任何工具可以让我指定给定语言的语法高亮显示,然后为一些更常见的编辑器生成语法高亮文件?语法与多个编辑器一起使用的高亮工具/语言
我问,因为我正在开发一个领域特定的语言,并且我想提供对所述语言的语法高亮支持。但是,我不想为每个编辑器(Vim,Notepad ++,Visual Studio等)编写单独的语法高亮文件。
这种类型的翻译似乎是可能的,因为语法突出显示的核心概念通常与您正在使用的编辑器无关。我只是不知道这样的事情是否已经存在。
是否有任何工具可以让我指定给定语言的语法高亮显示,然后为一些更常见的编辑器生成语法高亮文件?语法与多个编辑器一起使用的高亮工具/语言
我问,因为我正在开发一个领域特定的语言,并且我想提供对所述语言的语法高亮支持。但是,我不想为每个编辑器(Vim,Notepad ++,Visual Studio等)编写单独的语法高亮文件。
这种类型的翻译似乎是可能的,因为语法突出显示的核心概念通常与您正在使用的编辑器无关。我只是不知道这样的事情是否已经存在。
我不知道这样的事情,但在我看来,这将是很容易生产。例如,可以创建基于XML的通用格式(以DTD/XSL方案的形式)并使用特定于编辑器的XSLT转换。然后,每个编辑器创建者(或其他人)将为他的编辑器创建一个XSLT文件。对于每种新语言,都会创建一个XML。
最大的问题是,指定这样将至少满足这些标准语言:
相当多的编辑器使用闪烁(http://www.scintilla.org/)进行源代码编辑和语法高亮显示:例如windows上的Notepad ++,gnome中的gedit,Code :: blocks。因此,您可能会考虑向Scintilla添加语法定义。据我所知,这是一个为你的语言编写一个词法分析器的xml定义的问题(例如this page代码::块)
我有类似的想法,关于创建语法高亮通用格式/语言(I也在考虑XML)。如果你可以进行双向翻译,那么如果有人已经知道现有的语法格式,他们可以将其翻译成'通用'格式,然后转换为所有其他格式,这将是非常酷的。 似乎是一个很酷的想法 - 也许我会更多的时候看看它:o) – simplyletgo