Emacs模式用于类似c语言

Ore*_*ren 6 emacs development-environment colors indentation auto-indent

我正在尝试为新的模板c语言编写一个新的emacs模式,我必须将其用于一些学术研究.

我希望代码在c模式下着色和缩进,但以下情况除外:

  • 的"%"不被用作一个操作符,但在某些特定的关键字的第一个字符(例如:"%P","%作用"等)
  • 代码行不以分号结尾.

是否可以创建派生模式(来自c模式)并将其设置为忽略'%'和';'的原始目的?是否可以在没有';'的情况下使"按RET后自动缩进"功能工作?

类似的语言是否有相似的模式(带有'{}'括号,但没有分号)我可以尝试修补?

我应该尝试从头开始编写主要模式吗?

我考虑过从http://ess.r-project.org/修补R模式,但是这种模式不支持"/*comment*/"形式的注释.

我正在寻找的最重要的特性是括号缩进,即在按下RET之后在'{}'块内缩进代码(并且在没有以';'结尾的行之后没有额外缩进).部分解决方案也会有所帮助.

Tik*_*vis 2

如果你不介意一些非常简单的东西,你可以看看Gosu 模式。Gosu 是一种带有花括号且没有分号的语言,因此您应该做好最低限度的准备。它还使用与 C 相同的注释语法。

它的模式实现非常简单并且基于通用模式,因此修改它以按照您想要的方式工作应该很容易。它不是基于C 模式。

这就是我用来为我正在为我的编译器类开发的语言制作一个模式的方法,即使我的 elisp 经验有限,它也非常容易。另一方面,缩进相当简单——它适用于大多数代码,但不像 C 模式那样完整。