Language of externalAnnotator and annotator tags causes overwrite of default implementations when using JavaScript dialect

I'm developing a completion contributor and external annotator for the "TypeScript JSX" JavaScript language dialect.

In plugin.xml, the following works fine, and doesn't prevent the default TypeScript completions:

<completion.contributor language="TypeScript JSX" ...

Note the use of the JSX dialect. However, doing this:

<externalAnnotator language="TypeScript JSX" ...

Means that the default TypeScript external annotator no longer highlights errors. I only discovered this after an error was shown in the TypeScript compiler tool window, but not in the editor.

This seems counter intuitive, and seems likely to cause bugs, but it looks like a "fix" is to set language="TypeScript". Is this behavior intended by the extension API?

Note that I've seen the same behavior for internal annotators as well.

Please sign in to leave a comment.