text/x-scss
*.scss
//
/*
*/
[a-z0-9_-]
#\{
\}
\$\%{css:identifier-regex}
(
[+*%] |
(?<! \%{css:single-identifier-char-regex} )
-
(?! \%{css:single-identifier-char-regex} )
)
\+
(<=?|>=?|[=!]=)
and
not
or
false
true
null
&
\[
\]
\(
\)
\(
\)
\(
\)
\.\.\.
url\(
\)
default
global
optional
\{
\}
(?(DEFINE)
(?<interpolation> # recursive subpattern to find matching brackets
\#\{
(?:
(?>
(?:
[^#{}]+ |
(?! \#\{ | \} ) .
)+
) |
(?&interpolation)
)*
\}
)
)
:
(?:
(?! # not the start of a
\%{css:single-identifier-char-regex} | # pseudo-class
[:\\] | # pseudo-element, escape
\#\{ # interpolation
) | # or
(?= # ends like a normal declaration
(?>
(?:
[^;}{#]+ |
(?&interpolation)+ |
\#+
)*
)
\%{css:declaration-value-end} # with a semicolon or at the end of a block
)
)
\%{css:declaration-value-end}
@extend\%]
without
with
all
media
rule
supports
:
\%{css:test-value-end}
\(
\)
@at-root\%]
@(debug|warn|error)\%]
@(if|else\s+if)\%]
@else\%]
from
through
to
@for\%]
in
@each\%]
@while\%]
\(
\)
@mixin\%]
@include\%]
@content\%]
\(
\)
@function\%]
@return\%]
(&)(\%{css:identifier-chars-regex}?)
%\%{css:identifier-regex}
(?<=\})\%{css:identifier-chars-regex}