Grey: Non-essentials (: string, const, let, var, ;, ...)
White: Defaults (variables, properties and everything else)
Deviants a.k.a. Known Issues
Array and object literals are not colored as "Literals".
as string typecasts are not colored as "Non-essentials".
The entire editor frame isn't fully styled yet.
Motivations, Goals and Explanations
The theme aims to provide a similar, toned-down look across languages used for web development (.js, .html, .css, .json...).
Fewer colour categories makes it easier to scan a piece of code and figure out what is what.
It's simply not feasible to give all literals distinct colours. Therefore they are all just given the same colour.
this makes code harder to understand. Therefore it is emphasized to make sure you don't miss it.
Code comments should be used to explain code that is otherwise ambiguous. Therefore they are emphasized to make sure you don't miss them.
One of the great things about TypeScript is that you can get away with bloating your code with few annotations and still get type safety. Those you actually need to satisfy the compiler should provide minimal visual clutter to let you focus on the actual code.