Как изменить параметры `clang-format` для предотвращения торможения скобок

Peque спросил: 07 октября 2018 в 12:45 в: c

У меня есть файл C с именем asdf.c (вы можете воспроизвести проблему с этим, даже если он не компилируется):

struct turn_parameters turns[][NUM_MODES] =
    {
    [MOVE_LEFT] =
        {
        {0.02, .448, 166, 260, -3. * PI},
        {0.02, .448, 166, 260, -3. * PI},
        {0.02, .448, 166, 260, -3. * PI},
        },
    [MOVE_RIGHT] =
        {
        {0.02, .448, 166, 260, 3. * PI},
        {0.02, .448, 166, 260, 3. * PI},
        {0.02, .448, 166, 260, 3. * PI},
        },
    [MOVE_LEFT_90] =
        {
        {-0.05, .8, 219, 291, -2.3 * PI},
        {-0.05, .8, 219, 291, -2.3 * PI},
        {-0.05, .8, 219, 291, -2.3 * PI},
        },
    [MOVE_RIGHT_90] =
        {
        {-0.05, .8, 219, 291, 2.3 * PI},
        {-0.05, .8, 219, 291, 2.3 * PI},
        {-0.05, .8, 219, 291, 2.3 * PI},
        },
    [MOVE_LEFT_180] =
        {
        {-0.04, .7, 400, 479, -2.5 * PI},
        {-0.04, .7, 400, 479, -2.5 * PI},
        {-0.04, .7, 400, 479, -2.5 * PI},
        },
    [MOVE_RIGHT_180] =
        {
        {-0.04, .7, 400, 479, 2.5 * PI},
        {-0.04, .7, 400, 479, 2.5 * PI},
        {-0.04, .7, 400, 479, 2.5 * PI},
        },
};

Теперь, если Я запускаю clang-format -i asdf.c (использую версию 6.0.1, но я могу воспроизвести его и с версией 5), я разрешаю clang-format выполнить для меня форматирование.

Однако Я хотел бы, чтобы мой код соответствовал некоторым руководствам по стилю Linux (в конце концов, я программирую на C, а не на C ++), поэтому я одновременно использую checkpatch.pl для проверки стиля своего кода. Однако Checkpatch жалуется на то, как clang-format отформатировал код:

src/asdf.c:2: ERROR: that open brace { should be on the previous line
src/asdf.c:4: WARNING: Statements should start on a tabstop
src/asdf.c:4: ERROR: that open brace { should be on the previous line
src/asdf.c:10: WARNING: Statements should start on a tabstop
src/asdf.c:10: ERROR: that open brace { should be on the previous line
src/asdf.c:16: WARNING: Statements should start on a tabstop
src/asdf.c:16: ERROR: that open brace { should be on the previous line
src/asdf.c:22: WARNING: Statements should start on a tabstop
src/asdf.c:22: ERROR: that open brace { should be on the previous line
src/asdf.c:28: WARNING: Statements should start on a tabstop
src/asdf.c:28: ERROR: that open brace { should be on the previous line
src/asdf.c:34: WARNING: Statements should start on a tabstop
src/asdf.c:34: ERROR: that open brace { should be on the previous line

Мой вопрос: как мне настроить clang-format, чтобы избежать эти ошибки / предупреждения?

Моя текущая .clang-format конфигурация выглядит следующим образом:

BasedOnStyle: LLVM
IndentWidth: 8
UseTab: Always
BreakBeforeBraces: Linux
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
AllowShortFunctionsOnASingleLine: false
AllowShortLoopsOnASingleLine: false

0 ответов