在升级到 EMACS 24.3(我认为是从 24.2)并将 MELPAphp-mode
包升级到版本 20130920.1850 之后,php-mode
现在缩进如下:
array('a' => 1,
'b' => 2);
它之前做了什么:
array('a' => 1,
'b' => 2);
如何恢复以前的行为?
更新:最终,我在 Github 上提出了一个问题,php-mode 的维护者确认存在错误。
在升级到 EMACS 24.3(我认为是从 24.2)并将 MELPAphp-mode
包升级到版本 20130920.1850 之后,php-mode
现在缩进如下:
array('a' => 1,
'b' => 2);
它之前做了什么:
array('a' => 1,
'b' => 2);
如何恢复以前的行为?
更新:最终,我在 Github 上提出了一个问题,php-mode 的维护者确认存在错误。
这是我在等待 php-mode 修复此错误时使用的丑陋解决方法(它假设您使用默认的 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 +))))))))