There are a few captures that I think it would be nice to expose directly to themes, and that folks contributing language support like me, would like to be able to use.
-
deprecated – various languages have ways to mark stuff deprecated, it would be nice to have something for this (some other editors use strike through text or a yellowish warning for this)
-
primitive types (i.e. builtin types) – I imagine something like keyword.type for this. (I’m using keyword.construct for my language extensions for C and D for this).
-
package declaration stuff. E.g. “package blah” in Go or D. (I’m using CDATA for this, which feels wrong, but at least gets it a different markup than the other declarative markup.). (I guess maybe declaration.package could do this, but I didn’t find any themes that marked it up.)
-
import (or include) – and I’d offer the following variants of this:
- import.standard – import of standard libraries, e.g. from the Go standard library, or #include <…> for C
- import.external – import of 3rd party packages (not distinguished for C, but easy for Go and D)
- import.local – an import from the same repo, also #include “something.h”
Most themes probably wouldn’t discriminate these. Still it might be nice to have these as commonly supported.