From 979b525ee66565c30bb08def6e3ebe72593ef29a Mon Sep 17 00:00:00 2001 From: Cedric van Putten Date: Sat, 27 Oct 2018 22:58:14 +0200 Subject: [PATCH] Add JSX source definition to all files --- README.md | 3 +- Syntaxes/Markdown Extended.JSON-tmLanguage | 26 ++++++++++++++- Syntaxes/Markdown Extended.YAML-tmLanguage | 11 +++++++ Syntaxes/Markdown Extended.sublime-syntax | 16 ++++++++++ Syntaxes/Markdown Extended.tmLanguage | 37 ++++++++++++++++++++++ 5 files changed, 91 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8c2fbfe..b9e0bc4 100644 --- a/README.md +++ b/README.md @@ -125,8 +125,9 @@ Note that in order for a language to be highlighted properly, you must have the * `jade` * `java` * `javascript|js` -* `json` * `json front matter` +* `json` +* `jsx` * `julia` * `less` * `ls|livescript|LiveScript` diff --git a/Syntaxes/Markdown Extended.JSON-tmLanguage b/Syntaxes/Markdown Extended.JSON-tmLanguage index c7f2e67..743ed68 100644 --- a/Syntaxes/Markdown Extended.JSON-tmLanguage +++ b/Syntaxes/Markdown Extended.JSON-tmLanguage @@ -1034,6 +1034,30 @@ } } }, + { + "name": "markup.raw.block.markdown markup.raw.block.fenced.markdown", + "end": "(```|~~~|{%\\s*endhighlight\\s*%})\\n", + "begin": "(```|~~~|{%\\s*highlight)\\s*(jsx)\\s*((?:linenos\\s*)?%})?$", + "patterns": [ + { + "include": "source.js" + }, + { + "include": "meta.jsx.js" + } + ], + "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", @@ -1721,4 +1745,4 @@ "md" ], "keyEquivalent": "^~M" -} \ No newline at end of file +} diff --git a/Syntaxes/Markdown Extended.YAML-tmLanguage b/Syntaxes/Markdown Extended.YAML-tmLanguage index 0b0ea94..2c2fb76 100644 --- a/Syntaxes/Markdown Extended.YAML-tmLanguage +++ b/Syntaxes/Markdown Extended.YAML-tmLanguage @@ -188,6 +188,17 @@ patterns: patterns: - include: source.json +- name: markup.raw.block.markdown markup.raw.block.fenced.markdown + begin: (```|~~~|{%\s*highlight)\s*(jsx)\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.js + - include: meta.jsx.js + - name: markup.raw.block.markdown markup.raw.block.fenced.markdown begin: (```|{%\s*highlight)\s*(julia|jl)\s*((?:linenos\s*)?%})?$ end: (```|{%\s*endhighlight\s*%})\n diff --git a/Syntaxes/Markdown Extended.sublime-syntax b/Syntaxes/Markdown Extended.sublime-syntax index 2f2f8f4..3094531 100644 --- a/Syntaxes/Markdown Extended.sublime-syntax +++ b/Syntaxes/Markdown Extended.sublime-syntax @@ -294,6 +294,22 @@ contexts: 3: punctuation.definition.fenced.markdown pop: true - include: scope:source.js + - match: '(```|~~~|{%\s*highlight)\s*(jsx)\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.js + - 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.js + - include: scope:meta.jsx.js - 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..d835de9 100644 --- a/Syntaxes/Markdown Extended.tmLanguage +++ b/Syntaxes/Markdown Extended.tmLanguage @@ -648,6 +648,43 @@ + + begin + (```|~~~|{%\s*highlight)\s*(jsx)\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.js + + + include + meta.jsx.js + + + begin (```|{%\s*highlight)\s*(julia|jl)\s*((?:linenos\s*)?%})?$