2012-08-23 245 views
2

我正在编写一个用Emacs编辑我的自定义语言源代码的主要模式(虽然我不知道Lisp)。语法高亮很容易实现,但现在我试图设置自动缩进,我不能。Emacs自定义语言自动缩进

我有测试this code,它是完美的'{''['']''}'字符。例如,在我的测试中,如果我通过"[[:]"更改"[[{]"正则表达式,它不会自动缩进':'。为什么?我要疯了!

我的真正目的是要缩小if和关键字之间的区块,以及whileendwhile关键字之间的区块。例如:

if a > 0 
    b = 2 
    while b = 2 
     a = 0 
    endwhile 
endif 

回答

1

自动缩进不像语法突出显示那么简单,只需很长的时间。对缩进有一些宝贵的通用支持。如果您使用的是足够新的Emacs,您可能会尝试使用SMIE软件包。也许一个很好的尝试方法是看看octave-mod.el如何使用它(例如在Emacs-24中)。但不要指望它很容易。