Sha256: 713f77b658745ae20b852a6c41dae76ebe2414101474ad431469feb755a40e21

Contents?: true

Size: 1.48 KB

Versions: 52

Compression:

Stored size: 1.48 KB

Contents

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 special_directive(name)
        return unless name == 'media' || name == 'import'
        super
      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

Version data entries

52 entries across 51 versions & 3 rubygems

Version Path
haml-3.1.0.alpha.33 vendor/sass/lib/sass/scss/css_parser.rb
haml-3.1.0.alpha.30 vendor/sass/lib/sass/scss/css_parser.rb
haml-3.1.0.alpha.28 vendor/sass/lib/sass/scss/css_parser.rb
haml-3.1.0.alpha.27 vendor/sass/lib/sass/scss/css_parser.rb
sass-3.1.0.alpha.22 lib/sass/scss/css_parser.rb
haml-3.1.0.alpha.26 vendor/sass/lib/sass/scss/css_parser.rb
sass-3.1.0.alpha.21 lib/sass/scss/css_parser.rb
haml-3.1.0.alpha.23 vendor/sass/lib/sass/scss/css_parser.rb
sass-3.1.0.alpha.20 lib/sass/scss/css_parser.rb
haml-3.1.0.alpha.22 vendor/sass/lib/sass/scss/css_parser.rb
sass-3.1.0.alpha.19 lib/sass/scss/css_parser.rb
haml-3.0.22 lib/sass/scss/css_parser.rb
sass-3.1.0.alpha.18 lib/sass/scss/css_parser.rb
haml-3.1.0.alpha.19 vendor/sass/lib/sass/scss/css_parser.rb
haml-3.1.0.alpha.18 vendor/sass/lib/sass/scss/css_parser.rb
haml-3.1.0.alpha.17 vendor/sass/lib/sass/scss/css_parser.rb
sass-3.1.0.alpha.17 lib/sass/scss/css_parser.rb
sass-3.1.0.alpha.16 lib/sass/scss/css_parser.rb
sass-3.1.0.alpha.15 lib/sass/scss/css_parser.rb
sass-3.1.0.alpha.14 lib/sass/scss/css_parser.rb