Multi-language single-extension textmate grammars

I’m deploying a selection of (XText) DSLs as one language server and Theia extension. These languages require a shared index. Is there any nice way to define the textmate grammars they use separately? I’d ideally like colouring by file extension. Initially I had (very naively) defined many textmate grammars and registered many languages, then I found I was actually just defining many instances of the language server and not creating the shared index I need.

Since Theia 1.14, @theia/languages is deprecated. Languages can be contributed only as a VS Code extension.

Is there any nice way to define the textmate grammars they use separately?

It’s not an option, you have to define your TextMate grammar definitions separately.