Scope naming that follows the guidelines, and is generally consistent with historical scope names for CSS are important. Not utilizing regex patterns that trigger Oniguruma is important. Passing the existing test suite is very important. If there are examples of ways it is broken, or scopes that are completely contrary to other syntaxes, we want to address those. However, wholesale replacement tends to throw the baby out with the bathwater. I don’t want to regress on all of the bug fixes we’ve made, or change the scope names we’ve decided are the right thing. I think if a PR doesn’t pass the existing test suite, and can’t clearly list why changes need to be made to the tests, it definitely soaks up a ton more time, and to questionable benefit.
Honestly, if it isn’t possible to enumerate what is wrong with the CSS syntax, that makes me think that the CSS3 syntax is too different to use it as a basis for the CSS package. Probably the biggest benefit would be tests (or even examples) of CSS syntax where the existing syntax fails. If such tests exist, they can be ported over, however scope names often have to change. The fact that the syntax definition is 5 times as long makes me less inclined to try and reconcile the two.
In general I think there is space for default package for a language and a third-party package also. Some package authors like to get hyper specific with scope names, or don’t like the scope naming guidelines, or want to add features that we aren’t ready to commit to supporting as a baseline for the default packages. Packages such as ECMAScript and MagicPython come to mind.
The current approach we have to default syntaxes is to provide the fastest, and most semantically correct highlighting we can. Beyond that we want to ensure that syntaxes share a common set of scope names so that color schemes authors don’t need to try and target specific syntaxes, and we want the syntaxes to be well tested, with regression tests for bugs that have been fixed. With all of these we also need to make sure the syntaxes can be reasonably maintained and don’t soak up too much time relative to the core application.
In the end, it is kind of a big balancing act. So far, I’ve heard your concern that the CSS package is broken in many ways, but I haven’t heard anything yet that makes me think adopting CSS3 is the right solution. So far, it just sounds like a ton of work to try and reconcile the two. Considering the absolutely terrible shape some of the other default syntaxes are in, I’d probably err on the side of spending time getting them to a non-terrible state, and letting advanced CSS users install CSS3.
As always, I’m willing to be convinced otherwise, that is just where I stand right now.