Стиль Java Coding Style и настройка cc-режима Emacs

Я использую GNU / Emacs HEAD с включенным cc-режимом (c-версия 5.32.2) на компьютере с Debian GNU / Linux.

Я пытаюсь определить собственный стиль для управленияСоглашения о коде для языка программирования Java, Правила стиля кода Android для авторов и немного каста, ом правила.

Как новичок в LISP, не стоит начинать с нуля. Как следствие, я использовалGoogle-с-стиль в качестве отправной точки мне удалось получить предполагаемое поведение для большинства правил отступа, за исключением вложенного условия (см. фрагмент кода ниже).

Изэтот постЯ определил(arglist-cont-nonempty . ++) в моем собственном стиле (полный код:заказ ява-style.el). К сожалению, хотя большинство случаев с отступом, как предполагалось:

if ((condition1 && condition2)
        || (condition3 && condition4)
        ||!(condition5 && condition6)) {
    doSomethingAboutIt();

    someMethod(longExpression1, longExpression2, longExpression3,
            longExpression4, longExpression5);
}

Вложенные условия имеют неверный отступ:

if (!(deviceRegistred.getAddress().equalsIgnoreCase(deviceAdress)
                && deviceRegistred.getName().equalsIgnoreCase(deviceName))) {
    doSomethingAboutIt();
}

Ctrl-C Ctrl + s докладSyntactic analysis: ((arglist-cont-nonempty 2447 2450) (arglist-cont-nonempty 2447 2452)) на второй строке и у меня явно есть 16 пробелов (2 раза++) отступ вместо 8 (++).

Я хотел бы получить следующий отступ:

if (!(deviceRegistred.getAddress().equalsIgnoreCase(deviceAdress)
        && deviceRegistred.getName().equalsIgnoreCase(deviceName))) {
    doSomethingAboutIt();
}

Я пытался определить(,(when (fboundp …))) состояние, подобное тому, которое использовалось дляstatement-cont но безуспешно (мое отсутствие знаний о шутках тоже не помогает).

Теперь вопрос: мой подход правильный или неправильный? Как можно / нужно реализовать намеченное поведение (то есть определить, когда я нахожусь во вложенном состоянии, чтобы получить правильный отступ)?

(Я не хочу использовать malabar-mode или JDEE, поэтому, пожалуйста, не говорите мне использовать их.)

Ура,

Renaud

Обновление 2011/12/06 (реагирование на комментарии)

Мы бы не начали священную войну здесь. Те, кто хочет использовать Emacs по своим собственным причинам, могут придерживаться Emacs, остальные будут делать то, что хотят ...

Сказав это, я работаю в команде, в которой я единственный, кто использует Emacs, остальные любят Eclipse. Поскольку я отвечаю за правила кодирования, я работал со своими коллегами, чтобы получить правильные действия по сохранению и помочь в настройке форматера Eclipse. Все, что я могу сказать, это то, что: действия по сохранению и форматирование Eclipse не так просты в настройке… Основное отличие состоит в том, что у вас есть хороший графический интерфейс с красивыми флажками, но это не сильно помогает уменьшить сложность.

Я придерживаюсь Emacs ...

Ответы на вопрос(1)

Ваш ответ на вопрос