Как добавить возможности кланг-формату? - PullRequest
0 голосов
/ 01 августа 2020

Clang хорош для того, чтобы все были честны в отношении стандартов кодирования компании, но он не обеспечивает полного охвата всех случаев и делает (IMO) неверный выбор вместо того, чтобы игнорировать определенные ситуации. Например (из другого сообщения с аналогичными проблемами):

z1 = sqrt(x*x + y*y);

"искажается" форматом clang в

z2 = sqrt(x * x + y * y);

Конечно, это соответствует стандартам компании, но выражение z1 легче узнать с первого взгляда. Я хочу, чтобы clang-format игнорировал (не добавлял и не удалял) пробелы вокруг двоичных операторов. Я не вижу никаких настроек для пробелов вокруг двоичных операторов, если на то пошло. Он просто делает это, хочу я этого или нет.

Итак, могу ли я добавить возможность обработки нового параметра, такого как SpaceAroundBinaryOperator: true|false|ignore? Т.е. доступен ли код в формате clang опытному программисту на C ++ без необходимости тратить неделю или больше на то, чтобы просто разгадывать код? Есть советы?

1 Ответ

1 голос
/ 17 августа 2020

Итак, могу ли я добавить возможность обработки нового параметра ...

- это код в формате clang, доступный для опытного программиста на C ++ без необходимости тратить неделя или больше, просто выясняя код?

Вот это: https://clang.llvm.org/docs/ClangFormatStyleOptions.html#adding -additional-style-options , но информации там немного.

Также это: https://clang.llvm.org/docs/LibFormat.html

А может это: https://clang.llvm.org/docs/#design -документы

Но я думаю, вам действительно нужно погрузитесь в исходный код . Здесь много кода (поскольку код clang-format является частью всего проекта компилятора clang C ++ и связанных инструментов LLVM), поэтому я думаю, вам понадобится неделя или больше, чтобы разобраться во всем. Только я предполагаю ...

...