Skip to content

Commit

Permalink
re #24 fix popping and comments in @imports
Browse files Browse the repository at this point in the history
  • Loading branch information
braver committed Nov 5, 2018
1 parent d106940 commit b22ec79
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 3 deletions.
8 changes: 6 additions & 2 deletions Syntaxes/SCSS.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -573,13 +573,17 @@ contexts:
2: punctuation.definition.keyword.css
push:
- meta_scope: meta.at-rule.import.css
- match: ';'
scope: punctuation.terminator.rule.scss
pop: true
- match: '(\()(reference|inline|less|css|once|multiple|optional)(\))'
captures:
0: meta.function.parameters.scss
1: punctuation.definition.group.begin.scss
2: constant.other.scss
3: punctuation.definition.group.end.scss
- include: at-rule-punctuation
- include: comment-block
- include: comment-line
- include: literal-string
- include: url-function
- include: media-query
Expand Down Expand Up @@ -645,7 +649,7 @@ contexts:
1: keyword.control.at-rule.content.scss
2: punctuation.definition.keyword.scss
push:
- match: '(;)'
- match: ';'
scope: punctuation.terminator.rule.scss
pop: true
- match: '(?=$)'
Expand Down
5 changes: 4 additions & 1 deletion Syntaxes/Sass.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,10 @@ contexts:
1: punctuation.definition.group.begin.sass
2: constant.other.sass
3: punctuation.definition.group.end.sass
- include: at-rule-punctuation
- match: '(?=$)'
pop: true
- include: comment-block
- include: comment-line
- include: literal-string
- include: url-function
- include: media-query
Expand Down
19 changes: 19 additions & 0 deletions Tests/syntax_test_sass.sass
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,25 @@ input:not([type="radio"]):not(h1):not(custom-element):not(%placeholder), select,
// line comment contains #{ function($variable) + "escap\e" + -.5em
// <- comment.line.double-slash.sass punctuation.definition.comment.css
@import "imports/somefile.scss" // this should be a comment
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ comment.line.double-slash
// ^^ punctuation.definition.comment
/*
Import Statements
http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import
*/
@import "foo.css"
@import "foo" screen
// ^ support.constant.media
@import "http://foo.com/bar"
@import url(foo)
@import "rounded-corners", "text-shadow"
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.at-rule.import
// ^ punctuation.definition.arbitrary-repetition
#main
@import "example"


/*
Strings, (un)quoted, operations and interpolation
Expand Down
30 changes: 30 additions & 0 deletions Tests/syntax_test_scss.scss
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,36 @@
// line comment contains #{ function($variable) + "escap\e" + -.5em }
// <- comment.line.double-slash.scss punctuation.definition.comment.css

@import "imports/somefile.scss"; // this should be a comment
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ comment.line.double-slash
// ^^ punctuation.definition.comment

main {
-ms-text-size-adjust: 100%;
}

/*
Import Statements
http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import
*/
@import "foo.css";
@import "foo" screen;
// ^ support.constant.media
@import "http://foo.com/bar";
@import url(foo);
@import "rounded-corners", "text-shadow";
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.at-rule.import
// ^ punctuation.definition.arbitrary-repetition
// ^ punctuation.terminator.rule
@import "rounded-corners", // this is a line comment
// ^ punctuation.definition.arbitrary-repetition
// ^^ comment.line
"functions/filter";
// ^ meta.at-rule.import
#main {
@import "example";
}


/*
Strings, (un)quoted, operations and interpolation
Expand Down

0 comments on commit b22ec79

Please sign in to comment.