From 89921928d0fc2415cd8a4d282aa9015abbf03952 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Tue, 4 Dec 2018 14:05:48 -0800 Subject: [PATCH] Correctly highlight @example code as js/ts Fixes #64382 --- extensions/typescript-basics/package.json | 10 +++++++ .../ExampleJsDoc.injection.tmLanguage.json | 29 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 extensions/typescript-basics/syntaxes/ExampleJsDoc.injection.tmLanguage.json diff --git a/extensions/typescript-basics/package.json b/extensions/typescript-basics/package.json index f9496307e25..3f697de5ced 100644 --- a/extensions/typescript-basics/package.json +++ b/extensions/typescript-basics/package.json @@ -87,6 +87,16 @@ "source.js", "source.js.jsx" ] + }, + { + "scopeName": "documentation.example.injection", + "path": "./syntaxes/ExampleJsDoc.injection.tmLanguage.json", + "injectTo": [ + "source.ts", + "source.tsx", + "source.js", + "source.js.jsx" + ] } ], "snippets": [ diff --git a/extensions/typescript-basics/syntaxes/ExampleJsDoc.injection.tmLanguage.json b/extensions/typescript-basics/syntaxes/ExampleJsDoc.injection.tmLanguage.json new file mode 100644 index 00000000000..dd2d7989b8b --- /dev/null +++ b/extensions/typescript-basics/syntaxes/ExampleJsDoc.injection.tmLanguage.json @@ -0,0 +1,29 @@ +{ + "injectionSelector": "L:comment.block.documentation", + "patterns": [ + { + "include": "#example" + } + ], + "repository": { + "example": { + "begin": "((@)example)\\s+", + "while": "(^|\\G)\\s(?!@)", + "beginCaptures": { + "1": { + "name": "storage.type.class.jsdoc" + }, + "2": { + "name": "punctuation.definition.block.tag.jsdoc" + } + }, + "contentName": "meta.embedded.block.example.source.ts", + "patterns": [ + { + "include": "source.tsx" + } + ] + } + }, + "scopeName": "documentation.example.injection" +} \ No newline at end of file