Emacs自定义语法分析
问题描述:
在emacs中,句法分析出奇的少。Emacs自定义语法分析
例如,如果我想不是在函数声明的类型不同缩进参数名称,像这样:
void myfunction(
int
test
);
int
被认为是arglist-intro
,并test
被视为arglist-cont
。但是,如果我添加更多参数,则它们都将被视为arglist-cont
,因此缩进arglist-cont
不会达到预期的效果。
所以这里是我想知道的是:是否有可能使我自己的语法分析thingy为emacs,以便它可以识别和区分这种情况(这不是唯一的情况,顺便说一下)?如果是这样,怎么样?
答
是的,当然你可以写任何你想要的。 Emacs是free software,它带有源代码,所以你可以随意修改它们。
但请注意,Emacs的应用非常广泛,包括一些非常智能的hackers。这意味着Emacs的限制通常是(但是,当然并不总是!)有一个很好的理由(在你的情况下,原因是C语法非常复杂)。其含义是,做你想做的事情可能比你想象的要困难。当然,它不应该让你灰心!
PS。你问“是有可能使自己的句法分析”,而不是“如何做到这一点” :-)
PPS。至于“如何”,您将不得不以cc-engine.el
开头。
我看,是的,我有一种感觉,它理论上是可能的...和好点,我更新了我的答案(“如果是这样,怎么样?”)= p – MiJyn 2015-02-25 20:40:03
从'progmodes/cc-engine开始。 el'(见PPS)。我知道你更喜欢准备好的补丁,但是,我担心,我没有时间。 :-) – sds 2015-02-25 20:47:50
谢谢!我现在检查出来......看起来我有一些工作为我剪掉了哈哈 – MiJyn 2015-03-02 19:18:03