From c580bfaa9c9383aab8a9a03f0a55b892cfd15111 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Sun, 24 Apr 2016 01:12:06 +0200 Subject: [PATCH] refactor: split SCSS to SCSS and SASS --- grammars/asciidoc.cson | 57 ++++++++++++++++++++++++++--- spec/fixtures/asciidoctor-lang.adoc | 21 ++++++++++- 2 files changed, 72 insertions(+), 6 deletions(-) diff --git a/grammars/asciidoc.cson b/grammars/asciidoc.cson index 1f6eff3..f920b46 100644 --- a/grammars/asciidoc.cson +++ b/grammars/asciidoc.cson @@ -765,7 +765,7 @@ ] } - # Matches SASS AsciiDoc code blocks + # Matches SCSS AsciiDoc code blocks # # Examples # @@ -774,7 +774,7 @@ # ... # ---- { - 'begin': '^\\[source,\\s*(?i:(scss|sass))\\]$' + 'begin': '^\\[source,\\s*(?i:(scss))\\]$' 'beginCaptures': '0': 'name': 'support.asciidoc' 'end': '(?<=----)[\\r\\n]+$' @@ -793,6 +793,34 @@ ] } + # Matches SASS AsciiDoc code blocks + # + # Examples + # + # [source,sass] + # ---- + # ... + # ---- + { + 'begin': '^\\[source,\\s*(?i:(sass))\\]$' + 'beginCaptures': + '0': 'name': 'support.asciidoc' + 'end': '(?<=----)[\\r\\n]+$' + 'patterns': [ + { + 'begin': '^(-{4,})\\s*$' + 'beginCaptures': + '0': 'name': 'support.asciidoc' + 'end': '^\\1*$' + 'endCaptures': + '0': 'name': 'support.asciidoc' + 'name': 'markup.code.sass.asciidoc' + 'contentName': 'source.embedded.sass' + 'patterns': ['include': 'source.sass'] + } + ] + } + # Matches XML AsciiDoc code blocks # # Examples @@ -1774,7 +1802,7 @@ 'patterns': ['include': 'source.css.less'] } - # Matches SASS Markdown-style code blocks + # Matches SCSS Markdown-style code blocks # # Examples # @@ -1782,17 +1810,36 @@ # ... # ``` { - 'begin': '^\\s*(`{3,})\\s*(?i:(scss|sass))\\s*$' + 'begin': '^\\s*(`{3,})\\s*(?i:(scss))\\s*$' 'beginCaptures': '0': 'name': 'support.asciidoc' 'end': '^\\s*\\1\\s*$' 'endCaptures': '0': 'name': 'support.asciidoc' - 'name': 'markup.code.scss.less.asciidoc' + 'name': 'markup.code.css.scss.asciidoc' 'contentName': 'source.embedded.css.scss' 'patterns': ['include': 'source.css.scss'] } + # Matches SASS Markdown-style code blocks + # + # Examples + # + # ```sass + # ... + # ``` + { + 'begin': '^\\s*(`{3,})\\s*(?i:(sass))\\s*$' + 'beginCaptures': + '0': 'name': 'support.asciidoc' + 'end': '^\\s*\\1\\s*$' + 'endCaptures': + '0': 'name': 'support.asciidoc' + 'name': 'markup.code.sass.asciidoc' + 'contentName': 'source.embedded.sass' + 'patterns': ['include': 'source.sass'] + } + # Matches XML Markdown-style code blocks # # Examples diff --git a/spec/fixtures/asciidoctor-lang.adoc b/spec/fixtures/asciidoctor-lang.adoc index 75b6ab9..5d2db84 100644 --- a/spec/fixtures/asciidoctor-lang.adoc +++ b/spec/fixtures/asciidoctor-lang.adoc @@ -298,7 +298,7 @@ p { ---- -== SASS +== SASS / SCSS ```scss $font-stack: Helvetica, sans-serif; @@ -321,6 +321,25 @@ body { } ---- +```sass +$font-stack: Helvetica, sans-serif +$primary-color: #333 + +body + font: 100% $font-stack + color: $primary-color +``` + +[source,sass] +---- +$font-stack: Helvetica, sans-serif +$primary-color: #333 + +body + font: 100% $font-stack + color: $primary-color +---- + == XML