Hi Brittney,
If you want to have distinct colors for your different languages then you would need to use a separate HighlightingStyleRegistry for each language. The Highlighting Style Viewer QuickStart, for example, uses a distinct registry for the Console. You could do something similar for each language and just never use the AmbientHighlightingStyleRegistry.
The AmbientHighlightingStyleRegistry is convenient when you want everything to generally look the same for each language. This is similar to how Visual Studio works where most languages have the same colors for string, comment, etc. If you want one language to be different than the rest while using the AmbientHighlightingStyleRegistry then you have to use distinct keys for the language that should be different. For example, Visual Studio has a "String" classification type that most languages use, but also a "SQL String" classification type just for SQL.
One thing to consider with separate registries per language is that some classification types are not language-specific, like "Current Line", "Delimiter Matching", and "Line Numbers". If you allow the user to change these values, you probably want to synchronize the changes across all your registries.
Since maintaining and sycnrhonizing separate registries does have a lot of overhead, another option to consider would be to use the AmbientHighlightingStyleRegistry, but then filter which classification types you show on a per-language basis. This would help if, for instance, you didn't want to show classification types that didn't apply to that language. You'd just have to manually maintain a list of what is or isn't shown based on the language selection.