如何在Emacs中突出显示我自己的语法?

时间:2018-06-25 01:08:07

标签: emacs syntax-highlighting font-lock

我正在开发自己的域特定语言(DSL),文件扩展名是.xyz

Emacs不知道如何突出显示.xyz文件中的语法,因此我通常打开typescript-modejson-mode。但是可用的语法高亮模式对我来说还不够好,因此我正在考虑为Emacs编辑器编写自己的语法highligher。有关此任务的任何提示?有任何工具包建议吗?

或者,我对任何突出显示常见关键字(例如classstringlist=符号前和{{1 }}符号,大括号@,方括号{},问号[]和感叹号?。现有的任何语言都有类似的语法吗?

我不是色盲,对颜色也不挑剔。突出显示以上语法的任何语法高级语法都可以解决我的问题。

1 个答案:

答案 0 :(得分:2)

如果您仅对关键字和注释的简单语法突出显示感到满意,那么有一个名为define-generic-mode的帮助程序,该手册在elisp手册中有记录。

一些使用它的示例可以在Emacs分发的generic-x.el中找到。

但是变量名称的突出显示不在此范围之内。为此,您需要能够使用semantic / bovine来解析DSL,因为特定字符串是否被解释为变量名取决于上下文,而不仅仅是简单的正则表达式匹配。