[x] This problem exists even with the setting "C_Cpp.enhancedColorization": "Disabled"
The code with a problem is:
void Foo() throw() {}
It looks like:
(akbyrd.akbyrd-vsc-theme)
It should look like:
The issue is that throw is classified as keyword.control.throw when it is used as a function exception specifier. In this case it's not a control keyword and should be able to be highlighted in a different way compared to throw expression. To be consistent with noexcept I would guess keyword.operator.functionlike, keyword.operator.throw are reasonable scopes.
The desired behavior is similar to how default is either keyword.other.constructor or keyword.control.default.cpp based on the context in which it's used.
Checklist
"C_Cpp.enhancedColorization": "Disabled"
The code with a problem is:
It looks like:
(akbyrd.akbyrd-vsc-theme)
It should look like:
The issue is that
throw
is classified askeyword.control.throw
when it is used as a function exception specifier. In this case it's not a control keyword and should be able to be highlighted in a different way compared tothrow
expression. To be consistent withnoexcept
I would guesskeyword.operator.functionlike
,keyword.operator.throw
are reasonable scopes.The desired behavior is similar to how
default
is eitherkeyword.other.constructor
orkeyword.control.default.cpp
based on the context in which it's used.https://github.com/microsoft/vscode-cpptools/issues/10544