When formatting C# there can be issues with a lack of spaces between using ( , foreach ( and generic types
The C# code
public class Foo { Dictionary<string,string> foo; }
will be formatted as
public class Foo { Dictionary<string, string>foo; ^^^^^ missing a space }
This revision also reverts some of D66662: [clang-format] [PR43100] clang-format C# support does not add a space between "using" and paren in order to make this cleaner and resolve an issues seen by @owenpan that the formatting didn't add a space when not in a code block
This also transforms C# foreach commands to be seen as tok::kw_for commands (to ensure foreach gets the same Brace Wrapping behavior as for without littering the code with if(Style.isCSharp())