Class: Sass::SCSS::StaticParser
- Inherits:
-
Parser
- Object
- Parser
- Sass::SCSS::StaticParser
- Defined in:
- .ruby-sass/lib/sass/scss/static_parser.rb
Overview
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. parsing selectors after resolving the interpolation.
Direct Known Subclasses
Direct Known Subclasses
Constant Summary
Constant Summary
Constants included from RX
RX::ANY, RX::CDC, RX::CDO, RX::COMMENT, RX::DASHMATCH, RX::DOMAIN, RX::ESCAPE, RX::FUNCTION, RX::GREATER, RX::H, RX::HASH, RX::HEXCOLOR, RX::IDENT, RX::IDENT_HYPHEN_INTERP, RX::IDENT_START, RX::IMPORTANT, RX::INCLUDES, RX::INTERP_START, RX::NAME, RX::NL, RX::NMCHAR, RX::NMSTART, RX::NONASCII, RX::NOT, RX::NUMBER, RX::OPTIONAL, RX::PERCENTAGE, RX::PLUS, RX::PREFIXMATCH, RX::RANGE, RX::S, RX::SINGLE_LINE_COMMENT, RX::STATIC_COMPONENT, RX::STATIC_SELECTOR, RX::STATIC_VALUE, RX::STRING, RX::STRING1, RX::STRING1_NOINTERP, RX::STRING2, RX::STRING2_NOINTERP, RX::STRING_NOINTERP, RX::SUBSTRINGMATCH, RX::SUFFIXMATCH, RX::TILDE, RX::UNICODE, RX::UNICODERANGE, RX::UNIT, RX::UNITLESS_NUMBER, RX::URI, RX::URL, RX::URLCHAR, RX::URL_PREFIX, RX::VARIABLE, RX::W
Instance Attribute Summary
Attributes inherited from Parser
Instance Method Summary (collapse)
-
#initialize(str, filename, importer, line = 1, offset = 1, allow_parent_ref = true) ⇒ StaticParser
constructor
A new instance of StaticParser.
- #parse_keyframes_selector ⇒ Object
-
#parse_selector ⇒ Selector::CommaSequence
Parses the text as a selector.
-
#parse_static_at_root_query ⇒ (Symbol, Array<String>)
Parses a static at-root query.
Methods inherited from Parser
#parse, #parse_at_root_query, #parse_declaration_value, #parse_interp_ident, #parse_media_query_list, #parse_supports_clause, #parse_supports_condition
Methods included from RX
escape_char, escape_ident, quote
Constructor Details
#initialize(str, filename, importer, line = 1, offset = 1, allow_parent_ref = true) ⇒ StaticParser
Returns a new instance of StaticParser
56 57 58 59 60 |
# File '.ruby-sass/lib/sass/scss/static_parser.rb', line 56 def initialize(str, filename, importer, line = 1, offset = 1, allow_parent_ref = true) # rubocop:enable ParameterLists super(str, filename, importer, line, offset) @allow_parent_ref = allow_parent_ref end |
Constructor Details
#initialize(str, filename, importer, line = 1, offset = 1, allow_parent_ref = true) ⇒ StaticParser
Returns a new instance of StaticParser
56 57 58 59 60 |
# File '.ruby-sass/lib/sass/scss/static_parser.rb', line 56 def initialize(str, filename, importer, line = 1, offset = 1, allow_parent_ref = true) # rubocop:enable ParameterLists super(str, filename, importer, line, offset) @allow_parent_ref = allow_parent_ref end |
Instance Method Details
#parse_keyframes_selector ⇒ Object
44 45 46 47 48 49 |
# File '.ruby-sass/lib/sass/scss/static_parser.rb', line 44 def parse_keyframes_selector init_scanner! sel = expr!(:keyframes_selector) expected("keyframes selector") unless @scanner.eos? sel end |
#parse_selector ⇒ Selector::CommaSequence
Parses the text as a selector.
18 19 20 21 22 23 24 25 |
# File '.ruby-sass/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 ⇒ (Symbol, Array<String>)
Parses a static at-root query.
33 34 35 36 37 38 39 40 41 42 |
# File '.ruby-sass/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 |