Usually issues like this are caused by the way a tmLanguage is defined. C/C++ Language does this recursion thing when looking at certain elements on a page. When the internal recursion limit gets hit in ST2, the syntax highlighting aborts.
That is why you are seeing it cut off. The file you referenced is the perfect file to show something like this:
So I grabbed the scope of the last highlighted element, and this is what it is:
Scope: source.c++ meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c meta.parens.c meta.function.c entity.name.function.c
Notice the repeating scopes. This is simply because the tmLanguage is kind of poorly configured. I haven’t had a chance to dig in and try and fix this yet, but I have fixed issues like this before in the C/C++ languages specifically.