Emacs 字体锁定的替代方案

Emacs 字体锁定的替代方案,emacs,highlight,Emacs,Highlight,我试图改进CommonLisp的Emacs高亮显示,但我仍然停留在字体锁使用的regexp高亮显示方法上。regexp是不够的,因为我希望能够识别诸如defun之类的表单的结构——函数参数列表的突出显示应该不同于主体的突出显示,而不仅仅是全局搜索和突出显示 那么,在Emacs本身或互联网的某个地方,有没有其他的字体锁定方法呢?如果是这样,它们是否对符号表达式进行操作?Emacs的字体锁定匹配不限于正则表达式;您可以使用任何函数作为匹配器,只要它满足特定的协议。查看变量字体锁定关键字,了解更多详细

我试图改进CommonLisp的Emacs高亮显示,但我仍然停留在字体锁使用的regexp高亮显示方法上。regexp是不够的,因为我希望能够识别诸如defun之类的表单的结构——函数参数列表的突出显示应该不同于主体的突出显示,而不仅仅是全局搜索和突出显示


那么,在Emacs本身或互联网的某个地方,有没有其他的字体锁定方法呢?如果是这样,它们是否对符号表达式进行操作?

Emacs的字体锁定匹配不限于正则表达式;您可以使用任何函数作为匹配器,只要它满足特定的协议。查看变量
字体锁定关键字
,了解更多详细信息


C-h v
字体锁定关键字

我认为,类似的事情可以基于语义(部分)来完成-您可以从解析的缓冲区中获取语法信息,并为不同类型的对象应用不同的颜色。虽然我现在不知道任何现有的实现