First, the direct problem I was trying to solve:
I’ve been using the default Monokai for a while and I’m generally very happy with it, but it seems to have weak support for Markdown syntax highlighting. The whole file appears mostly in black and white, as though it were using Plain Text syntax highlighting. Looking at the default color schemes and using the number of occurrences of the word “markup” in each one as a rough proxy for how well each supports Markdown highlighting. The results were all over the board:
$ for i in *.tmTheme; do echo $(grep -ic markup $i) $i; done | sort -rn
20 Sunburst.tmTheme
18 Dawn.tmTheme
13 Cobalt.tmTheme
12 Mac Classic.tmTheme
12 Eiffel.tmTheme
8 MagicWB (Amiga).tmTheme
7 Twilight.tmTheme
6 Espresso Libre.tmTheme
5 Solarized (Light).tmTheme
5 Solarized (Dark).tmTheme
3 Pastels on Dark.tmTheme
3 Monokai.tmTheme
3 Monokai Bright.tmTheme
0 iPlastic.tmTheme
0 Zenburnesque.tmTheme
0 SpaceCadet.tmTheme
0 Slush & Poppies.tmTheme
0 LAZY.tmTheme
0 IDLE.tmTheme
0 Blackboard.tmTheme
0 Amy.tmTheme
0 All Hallow's Eve.tmTheme
The results pretty well match my hypothesis: “Amy” highlights almost nothing, and “Sunburst” has different foreground/background colors, bold, italics, etc.
Now, for the indirect problem I’m wanting to solve: providing overrides to color schemes without making copies of them and patching them myself. Is there a way to say “use Monokai but with these extra settings”, or even “use these settings as defaults for all schemes that don’t define them themselves”? Again, I don’t want to maintain my own forks of every scheme I occasionally use, and it’d be extra-sweet if I could refactor my overrides out into their own settings file so that I could easily apply them to any new scheme that comes out. Is that possible?