-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Update colorization.md to remove (syntactic) identifier #3832
Conversation
@jeff-hykin , you seem to be the resident expert in VS Code's C++ Text Mate grammar. Would you be willing to review our choices of scopes in this document? Semantic tokens are not based on Text Mate grammar, and we've chosen these scopes solely to allow their colors to be specified by themes and settings. |
I'd be happy to! I'm a little uncertain about what some things are referring to, For example "Class Template" I'm not sure if that means the |
@jeff-hykin Class Template would refer to the type. "A" in the following example: Generally speaking, these would be elements that there may not be sufficient context to identify syntactically, such as the second "A" which appears (I assume) in a position in which there is no longer knowledge of it having been a template class. There may be some contextual inconsistencies between Text Mate and VS IntelliSense. For example, in the above, perhaps TM would consider these 2 "A"'s differently, whereas VS IntelliSense will lump them into the same category. Thanks! |
To differentiate a C++/CLI property from a member field, perhaps? :
Member Operator would refer to any operator overloaded as member function. i.e.
Would Thanks! |
Function Operator looks to be similar to Member Operator, but for non-member overloads. Perhaps more accurately titled, "Operator Overload Function". Perhaps for these?
For Generic and Reference types, these are essentially classes. https://docs.microsoft.com/en-us/cpp/extensions/generic-classes-cpp-cli?view=vs-2019 So, perhaps keep the '.class'?
|
I think Operator OverloadsAh, thank you for explaining the "Member Operator". Now looking at it in context, it makes much more sense that the C++ extension would be adding it for overloads rather than just picking a lone built in operator to add a scope too. The operator overloads are definitely tough especially since textmate scopes do not allow for much description.
The most accurate tags from my understanding would be tagging I think using the Currently in the TextMate syntax the target of an operator overload is given Reference and Generic typesI'll take a look into it. I didn't realize C++/CLI was a superset syntax of C++. From what I understand reading so far, I think |
No description provided.