Стиль кодирования Java и конфигурация cc-режима Emacs

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

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

Если вы новичок в шепелявлении, начинать с нуля не стоит. Как следствие, я использовал google-c-style в качестве отправной точки, и мне удалось получить предполагаемое поведение для большинства правил отступа, за исключением вложенного условия (см. Фрагмент кода ниже).

Из этого сообщения я определил (arglist-cont-nonempty. ++) в моем собственном стиле (полный код: custom-java-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 report Синтаксический анализ: ((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 , но безуспешно (мне не помогает и отсутствие знаний о шепелявости).

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

(Я не хочу использовать малабарный режим или JDEE, поэтому, пожалуйста, не сообщайте мне их использовать.)

Ура,

Рено

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

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

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

Я использую Emacs…

19
задан Community 23 May 2017 в 11:55
поделиться