Исходный код формата clang довольно чистый, его не так уж сложно прочитать или изменить, как только вы получите эту идею.
Вот патч, который я сделал год назад, который добавляет «break before brace после списков инициализации конструктора», в clang 3.7. (Он не слился после обсуждения, к сожалению, но я все равно использовал его для своих собственных проектов.) Это не так много кода: https://github.com/cbeck88/clang/commit/e4f65cf7ab3deea9e6c7cdd5900ad0362835e514
Выяснение того, как построить clang и запустить тесты блока clang, возможно, так же много работайте, как на самом деле делая патч, чтобы делать то, что вы говорите.
Насколько я помню, исходный код более основаны на добавление разрывов, а не удаляя их, так что в зависимости от того, как именно вы хотите оформить свою идею (это это только управляющие структурами? Для ИФ? Для скобки заканчивающихся функций или класс?), это может быть сложно. Но я все еще надеюсь, что вы сможете заставить его работать.
К моему воспоминанию, нет встроенных возможностей, чтобы сделать что-то близкое к тому, что вы говорите.
Не ответ на ваш вопрос (таким образом, комментарий), но каждому из них; лично я не могу * стоять * в этом формате, предпочитая вместо этого [Allman] (https://en.wikipedia.org/wiki/Indent_style#Allman_style) форматирование, как и большинство остального человечества. Лучше всего удачи. Интересно, упражнение. – WhozCraig
@WhozCraig Мне не нравится стиль Allman, но я привык к круглым скобкам Python и Lisp. Я в порядке с несколькими закрывающимися скобками, и я предпочитаю вертикальную компактность и несколько Python (первое, что я вижу на новой строке всегда ключевое слово). – mmj
Просто подумайте о фигуре как ключевое слово. Создание C++ похоже на Python всегда будет ошибкой. –