Dev Build 3153 is out now at https://www.sublimetext.com/3dev
The major change in 3153 is a change to how syntax embedding works, which makes languages embedding lots of others more practical, and can also significantly reduce memory usage. This change is Will’s baby, so I’ll let him to go into more detail on how it works.
Another change of note is that we’ve now switched to compiling with clang for the Linux builds, as part of solving the oldish-linux-distribution compatibility issues that have arisen in the current series of dev builds. Things may be broken on Linux because of this - let me know if they are.
Also in 3153 is “Hashed Syntax Highlighting”, which is the same concept that has been around for a long time in KDevelop under the name “Semantic Highlighting”. The idea is that a given word is assigned a color from a table based on the hash of its contents. This way most variable names etc are different colors, but the same name always has the same color.
Hashed syntax highlighting is available via the .sublime-color-scheme format: if a rule supplies a list of colors for the foreground, instead of a single color, then the list of colors will be treated as a gradient (with interpolation in HSL space) which is used to fill the color table. An example:
{
"rules":
[
{
"scope": "source - punctuation - keyword",
"foreground":
[
"hsl(100, 100%, 56%)",
"hsl(200, 100%, 56%)",
]
}
]
}
Saving this as Monokai.sublime-color-scheme in your user directory will give you rainbow colored variables.
This is very much an experimental change, so let me know how you go with it.