This element is used for the update state as well for some reason so
while we don't normally ever see this state, it is used when the status
is acting as the restart to update button
This should be a purely internal change. Let me know if any visual
changes are observed from this!
### Syntax theme
- Update the theme to allow any syntax highlighting property used in any
`highlight.scm` to be styled
- Only define syntax styles that are baked into the default theme &
don't use the default text style
- Adds the `generate-syntax` command
- Removes a few unused properties that we were styling for some reason,
like `enum` and `variant`, neither of which exist in any `highlight.scm`
- Moves `@constructor` symbols to `@method.constructor` to prevent
issues with `constructor` being a reserved property in ts/js.
Syntax is now build as the theme is created rather than as part of the
styleTree. This means it no longer requires a compiled `Theme`, which
makes things a bit more straightforward if we need to access it in other
components that should be built before the styleTrees.
### Scheme
Also updates all uses of `#match` in our `highlights.scm` files, as
these break the scheme tree-sitter query. This fixes _most_ instances of
our scheme highlighting breaking.
For some reason something in here breaks the `highlights.scm` for PHP:
```scheme
((name) @constant.builtin
(.match? @constant.builtin "^__[A-Z][A-Z\d_]+__$"))
((name) @method.constructor
(.match? @method.constructor "^[A-Z]"))
((name) @variable.builtin
(.eq? @variable.builtin "this"))
```
Release Notes:
- No public facing changes
One of the problems we had is that the status_bar shows a gap between
items, and we want to not add an additional gap for an invisible status
indicator.