Управление кодом, украшающим в emacs - PullRequest
0 голосов
/ 10 июня 2010

Как мне заставить Emacs разместить отступы вокруг открывающих скобок и операторов для отступа ()?

Ответы [ 2 ]

1 голос
/ 11 июня 2010

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

  1. Вы отправите большой DIFF, который будет состоять из ошибок, которые вы исправили, плюс ваши усилия по украшению. У многих проектов есть политика, где единственное изменение в коде должно быть исправлениями (без изменений стиля), если не предпринимается попытка изменить стиль.
  2. Если вы хотите отправить чистый diff (только с вашими исправлениями ошибок), вам придется вернуться к коду, отменяющему разницу в стиле.

К счастью, есть дом на полпути, который будет держать вас и сопровождающих в здравом уме, glasses-mode:

Очки второстепенного режима (индикатор o ^ o): Незначительный режим для создания идентификаторов Как это читается. Когда этот режим активный, он пытается добавить виртуальный разделители (как подчеркивание) в места, к которым они принадлежат.

Он не только сделает идентификаторы более читабельными, но также поместит пробел перед скобками функций. glasses-mode просто «делает вид», что код красив , только для ваших глаз. Примечательно, по крайней мере.

0 голосов
/ 10 июня 2010

Вы можете посоветовать функции indent-region применить отступ после отступа региона, например так:

(defadvice indent-region (after pad-brackets-and-operators activate)
  (save-excursion
    (save-restriction
      (narrow-to-region (point) (mark))
      (goto-char (point-min))
      (while (re-search-forward " *\\([()+-*/]\\) *")
        (replace-match " \\1 ")
        (backward-char 1)))))
...