diff --git a/extensions/markdown/syntaxes/gulpfile.js b/extensions/markdown/syntaxes/gulpfile.js
index a01ff06499c..15545e82502 100644
--- a/extensions/markdown/syntaxes/gulpfile.js
+++ b/extensions/markdown/syntaxes/gulpfile.js
@@ -32,13 +32,15 @@ const languages = [
{ name: 'git_rebase', identifiers: ['git-rebase-todo'], source: 'text.git-rebase' },
{ name: 'go', identifiers: ['go', 'golang'], source: 'source.go' },
{ name: 'groovy', identifiers: ['groovy', 'gvy'], source: 'source.groovy' },
- { name: 'jade', identifiers: ['jade'], source: 'text.jade' },
+ { name: 'jade', identifiers: ['jade', 'pug'], source: 'text.jade' },
{ name: 'js', identifiers: ['js', 'jsx', 'javascript', 'es6', 'mjs'], source: 'source.js' },
{ name: 'js_regexp', identifiers: ['regexp'], source: 'source.js.regexp' },
{ name: 'json', identifiers: ['json', 'sublime-settings', 'sublime-menu', 'sublime-keymap', 'sublime-mousemap', 'sublime-theme', 'sublime-build', 'sublime-project', 'sublime-completions'], source: 'source.json' },
{ name: 'less', identifiers: ['less'], source: 'source.css.less' },
{ name: 'objc', identifiers: ['objectivec', 'objective-c', 'mm', 'objc', 'obj-c', 'm', 'h'], source: 'source.objc' },
+ { name: 'scss', identifiers: ['scss'], source: 'source.css.scss' },
+
{ name: 'perl6', identifiers: ['perl6', 'p6', 'pl6', 'pm6', 'nqp'], source: 'source.perl.6' },
{ name: 'powershell', identifiers: ['powershell', 'ps1', 'psm1', 'psd1'], source: 'source.powershell' },
{ name: 'python', identifiers: ['python', 'py', 'py3', 'rpy', 'pyw', 'cpy', 'SConstruct', 'Sconstruct', 'sconstruct', 'SConscript', 'gyp', 'gypi'], source: 'source.python' },
diff --git a/extensions/markdown/syntaxes/markdown.tmLanguage b/extensions/markdown/syntaxes/markdown.tmLanguage
index 38d1292f7e4..d9ac2a0ba6c 100644
--- a/extensions/markdown/syntaxes/markdown.tmLanguage
+++ b/extensions/markdown/syntaxes/markdown.tmLanguage
@@ -174,6 +174,10 @@
include
#fenced_code_block_objc
+
+ include
+ #fenced_code_block_scss
+
include
#fenced_code_block_perl6
@@ -1914,7 +1918,7 @@
fenced_code_block_jade
begin
- (^|\G)(\s*)([`~]{3,})\s*((jade)(\s+[^`~]*)?$)
+ (^|\G)(\s*)([`~]{3,})\s*((jade|pug)(\s+[^`~]*)?$)
name
markup.fenced_code.block.markdown
end
@@ -2217,6 +2221,57 @@
+ fenced_code_block_scss
+
+ begin
+ (^|\G)(\s*)([`~]{3,})\s*((scss)(\s+[^`~]*)?$)
+ name
+ markup.fenced_code.block.markdown
+ end
+ (^|\G)(\2|\s{0,3})(\3)\s*$
+ beginCaptures
+
+ 3
+
+ name
+ punctuation.definition.markdown
+
+ 5
+
+ name
+ fenced_code.block.language
+
+ 6
+
+ name
+ fenced_code.block.language.attributes
+
+
+ endCaptures
+
+ 3
+
+ name
+ punctuation.definition.markdown
+
+
+ patterns
+
+
+ begin
+ (^|\G)(\s*)(.*)
+ while
+ (^|\G)(?!\s*([`~]{3,})\s*$)
+ patterns
+
+
+ include
+ source.css.scss
+
+
+
+
+
fenced_code_block_perl6
begin
diff --git a/extensions/markdown/syntaxes/markdown.tmLanguage.base b/extensions/markdown/syntaxes/markdown.tmLanguage.base
index 6a8868a260b..7c5a5558a18 100644
--- a/extensions/markdown/syntaxes/markdown.tmLanguage.base
+++ b/extensions/markdown/syntaxes/markdown.tmLanguage.base
@@ -416,7 +416,7 @@
name
markup.fenced_code.block.markdown
begin
- (^|\G)(\s*)([`~]{3,})\s*(?=[^`~]*)?$
+ (^|\G)(\s*)([`~]{3,})\s*(?=([^`~]*)?$)
end
(^|\G)(\2|\s{0,3})(\3)\s*$
beginCaptures
@@ -1118,7 +1118,7 @@
match
- (\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])[ ]?(\[)([^\]]*+)(\])
+ (\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])(\[)([^\]]*+)(\])
name
meta.link.reference.markdown