在Emacs中以php模式缩进2个空格用于switch语句

时间:2014-01-22 13:19:01

标签: emacs switch-statement elisp

我为php-mode设置了2个空格(使用c-basic-offset)但是switch语句仍然是4个空格,

function foo($items) {
  foreach($item in $items) {
    switch($item) {
        case 1:
            return 10;
        case 2:
            return 20;
    }
  }
}

如果c-basic-offset为2,如何将swich语句更改为2个空格?

2 个答案:

答案 0 :(得分:1)

您可以自定义case-label偏移量:

(add-hook 'php-mode-hook 
  (lambda () (c-set-offset 'case-label 0)))

有关详细信息,请查看php-mode.el中的编码样式定义(查找c-add-style次调用)。

答案 1 :(得分:1)

在@tungd的帮助下,我的代码有效:

(c-set-offset 'case-label 2)
(c-set-offset 'statement-case-intro 2)