diff --git a/README.md b/README.md
index 8c2fbfe..e2c37a5 100644
--- a/README.md
+++ b/README.md
@@ -125,6 +125,7 @@ Note that in order for a language to be highlighted properly, you must have the
* `jade`
* `java`
* `javascript|js`
+* `typescript|ts`
* `json`
* `json front matter`
* `julia`
diff --git a/Syntaxes/Markdown Extended.JSON-tmLanguage b/Syntaxes/Markdown Extended.JSON-tmLanguage
index c7f2e67..4e1ae51 100644
--- a/Syntaxes/Markdown Extended.JSON-tmLanguage
+++ b/Syntaxes/Markdown Extended.JSON-tmLanguage
@@ -992,6 +992,27 @@
}
}
},
+ {
+ "name": "markup.raw.block.markdown markup.raw.block.fenced.markdown",
+ "end": "(```|~~~|{%\\s*endhighlight\\s*%})\\n",
+ "begin": "(```|~~~|{%\\s*highlight)\\s*(typescript|ts)\\s*((?:linenos\\s*)?%})?$",
+ "patterns": [
+ {
+ "include": "source.ts"
+ }
+ ],
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.fenced.markdown"
+ },
+ "2": {
+ "name": "variable.language.fenced.markdown"
+ },
+ "3": {
+ "name": "punctuation.definition.fenced.markdown"
+ }
+ }
+ },
{
"name": "markup.raw.block.markdown markup.raw.block.fenced.markdown",
"end": "(```|~~~|{%\\s*endhighlight\\s*%})\\n",
diff --git a/Syntaxes/Markdown Extended.YAML-tmLanguage b/Syntaxes/Markdown Extended.YAML-tmLanguage
index 0b0ea94..3dc6973 100644
--- a/Syntaxes/Markdown Extended.YAML-tmLanguage
+++ b/Syntaxes/Markdown Extended.YAML-tmLanguage
@@ -178,6 +178,16 @@ patterns:
patterns:
- include: source.js
+- name: markup.raw.block.markdown markup.raw.block.fenced.markdown
+ begin: (```|~~~|{%\s*highlight)\s*(typescript|ts)\s*((?:linenos\s*)?%})?$
+ end: (```|~~~|{%\s*endhighlight\s*%})\n
+ captures:
+ '1': {name: punctuation.definition.fenced.markdown}
+ '2': {name: variable.language.fenced.markdown}
+ '3': {name: punctuation.definition.fenced.markdown}
+ patterns:
+ - include: source.ts
+
- name: markup.raw.block.markdown markup.raw.block.fenced.markdown
begin: (```|~~~|{%\s*highlight)\s*(json)\s*((?:linenos\s*)?%})?$
end: (```|~~~|{%\s*endhighlight\s*%})\n
diff --git a/Syntaxes/Markdown Extended.sublime-syntax b/Syntaxes/Markdown Extended.sublime-syntax
index 2f2f8f4..921a08f 100644
--- a/Syntaxes/Markdown Extended.sublime-syntax
+++ b/Syntaxes/Markdown Extended.sublime-syntax
@@ -294,6 +294,21 @@ contexts:
3: punctuation.definition.fenced.markdown
pop: true
- include: scope:source.js
+ - match: '(```|~~~|{%\s*highlight)\s*(typescript|ts)\s*((?:linenos\s*)?%})?$'
+ captures:
+ 1: punctuation.definition.fenced.markdown
+ 2: variable.language.fenced.markdown
+ 3: punctuation.definition.fenced.markdown
+ push:
+ - meta_scope: markup.raw.block.markdown markup.raw.block.fenced.markdown
+ - meta_content_scope: source.ts
+ - match: '(```|~~~|{%\s*endhighlight\s*%})\n'
+ captures:
+ 1: punctuation.definition.fenced.markdown
+ 2: variable.language.fenced.markdown
+ 3: punctuation.definition.fenced.markdown
+ pop: true
+ - include: scope:source.ts
- match: '(```|~~~|{%\s*highlight)\s*(json)\s*((?:linenos\s*)?%})?$'
captures:
1: punctuation.definition.fenced.markdown
diff --git a/Syntaxes/Markdown Extended.tmLanguage b/Syntaxes/Markdown Extended.tmLanguage
index d72b1c1..cc55bf0 100644
--- a/Syntaxes/Markdown Extended.tmLanguage
+++ b/Syntaxes/Markdown Extended.tmLanguage
@@ -615,6 +615,39 @@
+
+ begin
+ (```|~~~|{%\s*highlight)\s*(typescript|ts)\s*((?:linenos\s*)?%})?$
+ captures
+
+ 1
+
+ name
+ punctuation.definition.fenced.markdown
+
+ 2
+
+ name
+ variable.language.fenced.markdown
+
+ 3
+
+ name
+ punctuation.definition.fenced.markdown
+
+
+ end
+ (```|~~~|{%\s*endhighlight\s*%})\n
+ name
+ markup.raw.block.markdown markup.raw.block.fenced.markdown
+ patterns
+
+
+ include
+ source.ts
+
+
+
begin
(```|~~~|{%\s*highlight)\s*(json)\s*((?:linenos\s*)?%})?$