Как заставить Uncrustify заставить пустые строки между функциями? - PullRequest
3 голосов
/ 29 июля 2011

Я работаю над своей конфигурацией uncrustify уже несколько часов, и я очень близок к тому, чтобы она была такой, как мне нужна. Тем не менее, я не могу найти возможность контролировать переводы строк между функциональными телами. Uncrustify всегда удаляет пустые строки между функциями, но я бы хотел использовать одну пустую строку. В настоящее время я получаю это:

Введите:

void foo() {
  std::cout << "foo!" << std::endl;
}

void bar() {
  std::cout << "bar!" << std::endl;
}

Выход:

void foo() {
  std::cout << "foo!" << std::endl;
}
void bar() {
  std::cout << "bar!" << std::endl;
}

В моем случае я хотел бы сохранить (принудительно!) Пустую строку на входе. Есть ли возможность контролировать это?

1 Ответ

10 голосов
/ 29 июля 2011

Крещение - я неправильно подсчитывал «новые строки». Вариант конфигурации для этого:

# The number of newlines after '}' of a multi-line function body
nl_after_func_body                       = 2        # number

Первоначально я установил это на 1. Однако Uncrustify включает новую строку в строке, содержащей фигурную скобку (}). Установка этого значения в 2 дает желаемый результат.

...