clang-format: скобка на новой строке, кроме пустых блоков - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь настроить следующее форматирование:

struct no_member {}; // single line

struct one_member
{
    int a;
};

struct multiple_members
{
    int a;
    int b;
};

К сожалению, формат clang не может быть условно разбит перед скобками, он только всегда или никогда, и я застреваю со следующим форматированием:

struct empty
{};

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

Это не похоже на очень exoti c или необычное форматирование, это выполнимо?

Ответы [ 3 ]

1 голос
/ 26 апреля 2020
struct one_member
{
    int a;
}

Здесь вы забыли ; при закрывающей скобке;

см .:

#include <stdio.h>

struct no_member
{}; // single line

struct one_member
{
    int a;
};

struct multiple_members
{
    int a;
    int b;
};

int main(void) {
  printf("Hello World\n");
  return 0;
}

Здесь нет ошибок, программа выведет Hello World

0 голосов
/ 03 мая 2020

Я получил подтверждение от другого средства, что то, что я пытаюсь сделать, невозможно, по состоянию на 2020-05-03: (

0 голосов
/ 26 апреля 2020

Из ссылки необходимо настроить флаги BraceWrapping, например:

BreakBeforeBraces: Custom
BraceWrapping:
  AfterStruct: true
...