-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Highlighting Escape Sequence" doesn't handle C/C++'s "#include" file names and raw string literals correctly. #11
Comments
Great catch. Not quite sure how to fix it, yet, as it would require checking if the previous classification span was a preprocessor directive, and want to make sure the check doesn't impact performance negatively. |
I guess this is the same type error but in F#/C#. The \123 is colored incorrectly.
|
@fdncred I did not know F# supported @ strings, so that's definitely a bug. I'll fix that one. However, I would not expect this to be an issue in C#, are you seeing it happening there as well? |
You are correct, sir. This error does not show up in C#. |
There seems to be a bug when interpolated and verbatim symbols are both used for the same string in C#. Although the character after the backslash is not escaped, the coloring suggests it is: In this screenshot, Test1 is incorrectly colored, but Test2 and Test3 are correct. Visual Studio 2017 v15.2 (26430.12) |
@chasingcode Created a separate issue to track this one. Thanks for reporting, interpolated strings give me headaches! |
Thank you for the quick response and making such a helpful extension! It's much appreciated |
@tomasr - Are you still working on proper highlighting for include files in C++? It's pretty annoying. |
Raw string literals that span multiple lines in C++11 are not just not highlighted correctly, but seem to break the brace matching logic so
will show correctly but
will try to match the close brace of the literal with the curly brace of the enclosing block and so highlight it as incorrect (and mess up the colouring of matched braces etc thereafter) |
For example, in the following code:
"\d" isn't an escape sequence.
Also, the raw string literals are not handled correctly, like this:
The text was updated successfully, but these errors were encountered: