class Sass::SCSS::StaticParser
after resolving the interpolation.
This is useful for e.g. {#parse_selector parsing selectors}
but without dynamic SassScript.
Parses with SCSS extensions, like nested rules and parent selectors,
A parser for a static SCSS tree.
def interp_ident(ident = IDENT); (s = tok(ident)) && [s]; end
def interp_ident(ident = IDENT); (s = tok(ident)) && [s]; end
def interp_string; (s = tok(STRING)) && [s]; end
def interp_string; (s = tok(STRING)) && [s]; end
def interp_uri; (s = tok(URI)) && [s]; end
def interp_uri; (s = tok(URI)) && [s]; end
def interpolation; nil; end
def interpolation; nil; end
def moz_document_function
def moz_document_function val = tok(URI) || tok(URL_PREFIX) || tok(DOMAIN) || function(!:allow_var) return unless val ss [val] end
def parse_selector
-
(Sass::SyntaxError)
- if there's a syntax error in the selector
Returns:
-
(Selector::CommaSequence)
- The parsed selector
Parameters:
-
filename
(String, nil
) -- The file in which the selector appears,
def parse_selector init_scanner! seq = expr!(:selector_comma_sequence) expected("selector") unless @scanner.eos? seq.line = @line seq.filename = @filename seq end
def parse_static_at_root_query
-
(Sass::SyntaxError)
- if there's a syntax error in the query,
Returns:
-
((Symbol, Array
- The type of the query))
def parse_static_at_root_query init_scanner! tok!(/\(/); ss type = tok!(/\b(without|with)\b/).to_sym; ss tok!(/:/); ss directives = expr!(:at_root_directive_list); ss tok!(/\)/) expected("@at-root query list") unless @scanner.eos? return type, directives end
def script_value; nil; end
def script_value; nil; end
def special_directive(name, start_pos)
def special_directive(name, start_pos) return unless %w[media import charset -moz-document].include?(name) super end
def use_css_import?; true; end
def use_css_import?; true; end
def var_expr; nil; end
def var_expr; nil; end
def variable; nil; end
def variable; nil; end