class Sass::SCSS::StaticParser
A parser for a static SCSS tree. Parses with SCSS extensions, like nested rules and parent selectors, but without dynamic SassScript. This is useful for e.g. {#parse_selector parsing selectors} after resolving the interpolation.
Public Instance Methods
parse_selector()
click to toggle source
Parses the text as a selector.
@param filename [String, nil] The file in which the selector appears,
or nil if there is no such file. Used for error reporting.
@return [Selector::CommaSequence] The parsed selector @raise [Sass::SyntaxError] if there's a syntax error in the selector
# File lib/sass/scss/static_parser.rb, line 18 def parse_selector init_scanner! seq = expr!(:selector_comma_sequence) expected("selector") unless @scanner.eos? seq.line = @line seq.filename = @filename seq end
parse_static_at_root_query()
click to toggle source
Parses a static at-root query.
@return [(Symbol, Array<String>)] The type of the query
(`:with` or `:without`) and the values that are being filtered.
@raise [Sass::SyntaxError] if there's a syntax error in the query,
or if it doesn't take up the entire input string.
# File lib/sass/scss/static_parser.rb, line 33 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
Private Instance Methods
interp_ident(ident = IDENT)
click to toggle source
# File lib/sass/scss/static_parser.rb, line 59 def interp_ident(ident = IDENT); (s = tok(ident)) && [s]; end
interp_string()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 57 def interp_string; (s = tok(STRING)) && [s]; end
interp_uri()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 58 def interp_uri; (s = tok(URI)) && [s]; end
interpolation()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 55 def interpolation; nil; end
moz_document_function()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 46 def moz_document_function val = tok(URI) || tok(URL_PREFIX) || tok(DOMAIN) || function(!:allow_var) return unless val ss [val] end
script_value()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 54 def script_value; nil; end
special_directive(name, start_pos)
click to toggle source
Calls superclass method
Sass::SCSS::Parser#special_directive
# File lib/sass/scss/static_parser.rb, line 62 def special_directive(name, start_pos) return unless %w[media import charset -moz-document].include?(name) super end
use_css_import?()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 60 def use_css_import?; true; end
var_expr()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 56 def var_expr; nil; end
variable()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 53 def variable; nil; end