php模式突然缩进不同

时间:2013-09-25 09:13:23

标签: php emacs indentation emacs24 php-mode

升级到EMACS 24.3(我认为从24.2开始)并将MELPA php-mode包升级到版本20130920.1850后,php-mode现在缩进如下:

array('a' => 1,
'b' => 2);

之前做过的事情:

array('a' => 1,
      'b' => 2);

如何取回以前的行为?

更新:最后,我提交了issue on Github,php-mode的维护者确认存在错误。

1 个答案:

答案 0 :(得分:1)

这是我在等待php模式修复此错误时使用的丑陋的解决方法(它假设您使用默认的php缩进样式:pear)。我本来希望快速修复,但已经有好几个月了。

(eval-after-load "php-mode"
  '(progn
     (c-add-style
      "pear"
      '((c-basic-offset . 4)
        (c-offsets-alist . ((block-open . -)
                            (block-close . 0)
                            (topmost-intro-cont . (first c-lineup-cascaded-calls
                                                         php-lineup-arglist-intro))
                            (brace-list-intro . +)
                            (brace-list-entry . c-lineup-cascaded-calls)
                            (arglist-close . php-lineup-arglist-close)
                            (arglist-intro . php-lineup-arglist-intro)
                            (knr-argdecl . [0])
                            (statement-cont . (first c-lineup-cascaded-calls +))))))))