This fixes bug #19986 (https://bugs.llvm.org/show_bug.cgi?id=19986).
The code was incorrectly formatted to (mind additional spaces inside brackets) when lambda capture contained an initializer expression.
This patch does not handle all possible initializers, but the most common once.
To handle these resting cases, we'd have to parse the whole initializer expressions or handle lambda detection differently.
Before:
int i = 100; auto f1 = [ i, value = 23 ]() { return i + value; }; auto f2 = [ i, value{23} ]() { return i + value; };
After:
int i = 100; auto f1 = [i, value = 23]() { return i + value; }; auto f2 = [i, value{23}]() { return i + value; };