From 16a4dd7dab3dde4ba9ca6ea933c918755e2d47f5 Mon Sep 17 00:00:00 2001 From: swist Date: Wed, 2 May 2018 14:48:46 +0100 Subject: [PATCH] Add typescript support --- README.md | 1 + Syntaxes/Markdown Extended.JSON-tmLanguage | 21 ++++++++++++++ Syntaxes/Markdown Extended.YAML-tmLanguage | 10 +++++++ Syntaxes/Markdown Extended.sublime-syntax | 15 ++++++++++ Syntaxes/Markdown Extended.tmLanguage | 33 ++++++++++++++++++++++ 5 files changed, 80 insertions(+) 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*)?%})?$