This patch (1) enable parsing for coroutines by default and (2) teaches clang-format how to properly handle them.
Currently clang-format absolutely mangles any coroutine code. For example:
for co_await (auto x : range()) { ... } // before formatting // after formatting for co_await(auto x : range() { ... }
This is unacceptable and I would like to fix it before more people begin using coroutines.
Can we change this only if Style.isCpp()? We should probably do that for other things, too, but as we are adding more keywords here, lets not do that for Java/JS/Proto.