Как сделать так, чтобы в выражении switch делались отступы в Emacs - PullRequest
12 голосов
/ 24 января 2012

Как заставить Emacs делать отступы, подобные этому

switch ($foo) {
    case "foo":
        $foo .= " bar";
        break
    case "bar":
        $foo .= " baz";
        break
    default:
        $foo .= " undefined";
}

вместо

switch ($foo) {
case "foo":
    $foo .= " bar";
    break
case "bar":
    $foo .= " baz";
    break
default:
    $foo .= " undefined";
}

1 Ответ

17 голосов
/ 24 января 2012

Вам нужно добавить что-то подобное в ваш .emacs (либо в качестве общего параметра, либо для определенных режимов программирования, которые вас интересуют):

;; set this in all c-based programming modes
(add-hook 'c-mode-common-hook
          (lambda ()
             (c-set-offset 'case-label '+)))

, чтобы добавить это в другой режим, используйте тот жешаблон выше с соответствующим именем режима, замененным на ловушку, например: <mode-name>-hook.

...