clang-format option for formatting closing brace of initializer lists

Hi,

is there a way to configure clang-format to break line before the end of an
initializer list?

So, not do this:

   static const char *WaitingTasks[6] = {
       {"systemd-networkd.service", "/lib/systemd/systemd-networkd-wait-online", "-q", "--timeout=30", nullptr},
       {"NetworkManager.service", "nm-online", "-q", "--timeout", "30", nullptr}};

but rather this:

   static const char *WaitingTasks[6] = {
       {"systemd-networkd.service", "/lib/systemd/systemd-networkd-wait-online", "-q", "--timeout=30", nullptr},
       {"NetworkManager.service", "nm-online", "-q", "--timeout", "30", nullptr}
   };

(possibly with a trailing comma on the nm-online line for consistency).

This style looks much cleaner to me. Somewhat unrelated, it's also the
style gofmt uses.

(Please To/CC on replies, not subscribed)

If you put a trailing comma on the line it does the right thing. Perhaps you’re on an old version?

If you put a trailing comma on the line it does the right thing. Perhaps
you're on an old version?

No, I just did not know :slight_smile: Maybe it would be nice to have an option to
do that automatically, but not sure. It does make sense.

If you put a trailing comma on the line it does the right thing. Perhaps
you’re on an old version?

No, I just did not know :slight_smile: Maybe it would be nice to have an option to
do that automatically, but not sure. It does make sense.

You mean forcing a comma at the end? Generally clang-format tries not to edit source code beyond whitespace. We’ve diverged from this in a couple of places, but always very carefully and reluctantly :slight_smile: I personally don’t think that option would carry the weight.