10

Стиль отступа по умолчанию для вызовов многострочных функций во многих режимах emacs заключается в выравнивании закрывающей круглой скобки с другими аргументами функции, таким образом:

function_one(
    arg1,
    arg2
    );

Я бы предпочел, чтобы закрывающая скобка совпадала с началом строки, содержащей открывающую скобку. Например:

function_one(
    function_two(
        f2_arg1,
        f2_arg2
    ),
    f1_arg2,
    f1_arg3
);

Как мне это сделать?

1 ответ1

12
  • Для многих режимов, полученных из режима CC (например, c-mode, java-mode, php-mode), настройте c-offsets-alist так, чтобы arglist-close был установлен в c-lineup-close-paren .
  • Для режима cperl настройте для cperl-indent-parens-as-block значение true.
  • Для режима cperl, GNU Emacs 24.3+, установите для cperl-close-paren-offset отрицательное значение уровня cperl-indent-level
  • Для режима perl в GNU emacs 24.3 и выше настройте perl-indent-parens-as-block на true.
  • Для режима python такое поведение встречается в GNU emacs 24.3 и выше.

Вы можете настроить переменную, набрав M-x customize-variable . Или добавьте следующие строки в ваш ~/.emacs:

(add-to-list 'c-offsets-alist '(arglist-close . c-lineup-close-paren))
(setq cperl-indent-parens-as-block t)
(setq perl-indent-parens-as-block t)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .