1 | (function (Prism) {
|
2 | var typescript = Prism.util.clone(Prism.languages.typescript);
|
3 | Prism.languages.tsx = Prism.languages.extend('jsx', typescript);
|
4 |
|
5 | // doesn't work with TS because TS is too complex
|
6 | delete Prism.languages.tsx['parameter'];
|
7 | delete Prism.languages.tsx['literal-property'];
|
8 |
|
9 | // This will prevent collisions between TSX tags and TS generic types.
|
10 | // Idea by https://github.com/karlhorky
|
11 | // Discussion: https://github.com/PrismJS/prism/issues/2594#issuecomment-710666928
|
12 | var tag = Prism.languages.tsx.tag;
|
13 | tag.pattern = RegExp(/(^|[^\w$]|(?=<\/))/.source + '(?:' + tag.pattern.source + ')', tag.pattern.flags);
|
14 | tag.lookbehind = true;
|
15 | }(Prism));
|