我为某种类型的文件使用自定义模式只是为了语法高亮。但是当我加载该模式时,c风格的缩进不起作用。我不想为这种模式编写缩进规则。
Here is the link for the mode I'm using
如何在此自定义模式下使用Emacs默认的c样式缩进? 感谢。
答案 0 :(得分:0)
c-mode
安装自己的解析器来计算缩进。因此,切换c-indentation并不像看起来那么简单(你不能简单地设置indent-line-function
和indent-region-function
)。
您可以尝试以下操作:
(add-hook 'ned-mode-hook (lambda ()
(c-init-language-vars c-mode)
(c-basic-common-init 'c-mode "user")))
我注意到ned-font-lock-keywords
中的注释和字符串的正则表达式。据我所知,字体锁定,这是错误的。注释和字符串由Parse-Partial-Sexp解析器(请参阅syntax-ppss
)处理,而不是通过正则表达式处理。
此外,ned-mode
应该来自prog-mode
,而不是来自text-mode
。