Matthew Fosdick
Matthew Fosdick
I think part of the issue is that the behavior of while is underspecified. It looks like vscode-textmate tests while patterns going up the stack rather than down the stack....
I think I have a solution to this, hopefully also provides correct near-perfect syntax highlighting. The only time that you can be sure that there is not another alternate highlighting...
> pushed a solid fix for problem #2 just now, and I basically reverted the code for problem #1. Its okay if this change doesn't make it into VS Code...
typename and class are identical when used inside a template definition
Ignoring C++20 (concepts) for simplicity. So generally. A template definition contains 0 or more template parameters. Template parameters come in four forms: #### type parameter: Probably the most common, has...
Posting as this example shows many of the previously mentioned issues with templates. Example: ```c++ template constexpr propagate_const(propagate_const &&pu) {} ```  On line 2 you can...
Test cases: ```cpp template // empty template template // unnamed parameter template template // named parameter template // non-type parameter template // defaulted type parameter template // defaulted non type...
Only `#endif` causes an error with raw string literals, So I'll just piggyback on this issue. ```cpp #if 1 R"( /* not a comment #endif )" */ // this is...
This will be hard to fix without code duplication due to no way of allowing comments and raw string literals to overshoot the while pattern. One potential solution is that...
I'm fairly sure that the only true solution to this and #350 is replacing the begin/while rules with begin/end rules. I'm going to do a check to see if Textmate...