haml-3.0.25.lib.sass.scss.css_parser.rb Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scalate-jruby_2.10 Show documentation
Show all versions of scalate-jruby_2.10 Show documentation
Scalate integration with JRuby to access Ruby based filters such as sass
The newest version!
require 'sass/script/css_parser'
module Sass
module SCSS
# This is a subclass of {Parser} which only parses plain CSS.
# It doesn't support any Sass extensions, such as interpolation,
# parent references, nested selectors, and so forth.
# It does support all the same CSS hacks as the SCSS parser, though.
class CssParser < StaticParser
# Parse a selector, and return its value as a string.
#
# @return [String, nil] The parsed selector, or nil if no selector was parsed
# @raise [Sass::SyntaxError] if there's a syntax error in the selector
def parse_selector_string
init_scanner!
str {return unless selector}
end
private
def parent_selector; nil; end
def interpolation; nil; end
def interp_string; tok(STRING); end
def interp_ident(ident = IDENT); tok(ident); end
def use_css_import?; true; end
def block_child(context)
case context
when :ruleset
declaration
when :stylesheet
directive || ruleset
when :directive
directive || declaration_or_ruleset
end
end
def nested_properties!(node, space)
expected('expression (e.g. 1px, bold)');
end
@sass_script_parser = Class.new(Sass::Script::CssParser)
@sass_script_parser.send(:include, ScriptParser)
end
end
end
© 2015 - 2025 Weber Informatics LLC | Privacy Policy