Исходный код в формате clang довольно чистый, его не так уж сложно прочитать или изменить, как только вы поймете идею.
Вот патч, который я сделал год назад, который добавляет «разрыв перед скобкой после списков инициализации конструктора» в clang 3.7. (К сожалению, он не был объединен после обсуждения, но я все равно продолжал использовать его для своих собственных проектов.) Это не слишком много кода: https://github.com/cbeck88/clang/commit/e4f65cf7ab3deea9e6c7cdd5900ad0362835e514
Выяснить, как создать clang и запустить модульные тесты clang, вероятно, не меньше, чем на самом деле сделать патч, выполняющий то, что вы говорите.
Насколько я помню, исходный код больше основан на добавлении разрывов, а не на их удалении, поэтому в зависимости от того, как именно вы хотите формализовать свою идею (это только управляющие структуры? Для if? Для скобок, оканчивающихся на функция или класс?) это может быть сложно. Но я все же надеюсь, что вы сможете заставить его работать.
Насколько я помню, нет встроенных опций, позволяющих делать что-то близкое к тому, что вы говорите.
person
Chris Beck
schedule
06.07.2016