Emacs函数参数列表中的ActionScript缩进

时间:2012-05-18 00:00:23

标签: actionscript emacs

我正在使用Austin Haas的动作脚本模式和Emacs 23.3.1。当我在ActionScript中编写一个包含大量参数的函数时,我喜欢将它分成几行。我希望它看起来像

public function foo(bar:Bar,
                    baz:Baz,
                    qux:Qux):void {...}

但是对于actionscript-mode的缩进,它看起来像是

public function foo(bar:Bar,
    baz:Baz,
    qux:Qux):void {...}

这让我很烦恼。有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

一个简短的回答是:我认为没有一个好办法可以做到这一点。今天缩进仅基于前一行,如果使用E4X,或者嵌套的对象文字或数组文字等等,它会完全被破坏:(

但是,如果您不介意应用于要修改的每个此类实例的一些手工操作,那么可能会有所帮助:

(defun as3-align-regex ()
  (interactive)
  (let ((align-to-tab-stop nil))
    (align-regexp (region-beginning) (region-end)
          "\\(\\s(\\|\\s-\\)\\(\\sw+\\)" 1 1 nil)))

请注意,您需要以第一个括号,括号或空格开头的方式选择区域,直到您想要对齐的最后一个术语。这有点难看,但一个好的解决方案需要付出太多努力。