Длинный аргумент Отступ в Emacs

В настоящее время я использую отступ в стиле "bsd" в emacs. Я также предпочитаю ограничить себя 80 символьными строками.

Есть ситуации, когда я передаю много аргументов функции и превышаю 80 символов. Когда это происходит, я вставляю новую строку. В настоящее время, если я использую автоматический отступ для продолжения моей строки, я получаю следующее:

function __TimeBlock($inputDay, $inputStartHour, $inputStartMinute,
$inputEndHour,  $inputEndMinute)

однако то, что я хочу, это:

function __TimeBlock($inputDay, $inputStartHour, $inputStartMinute,
                     $inputEndHour,  $inputEndMinute)

Он должен располагаться так, чтобы он находился непосредственно под первым символом после парена выше.

Есть ли способ отредактировать отступы, чтобы я автоматически получал такое поведение, когда у меня есть новая строка в наборе символов "()"?

Я хотел бы, чтобы это применялось ко всем языкам, игнорирующим пробелы, которые я кодирую в emacs.

1 ответ

Это, вероятно, хорошее начало для вас:

(add-hook 'c-mode-hook 'my-c-mode-hook)

(defun my-c-mode-hook ()
  "Customisations for C-mode and its derivatives."
  (c-set-style "bsd"))

nb Все PHP-режимы, которые я видел, происходят из c-mode.

Или, если вы предпочитаете:

Mx customize-variable RET c-default-style RET

и указать bsd по мере необходимости.

FWIW, самый специфический синтаксический символ элемента контекста (для c-offsets-alist) по этому вопросу представляется:

arglist-cont-nonempty  -- Subsequent argument list lines when at
                          least one argument follows on the same
                          line as the arglist opening paren.

(но это не похоже, что вам нужно переопределить его значение.)

Другие вопросы по тегам