/scalate-jruby/src/main/resources/haml-3.0.25/lib/sass/scss/static_parser.rb
http://github.com/scalate/scalate · Ruby · 40 lines · 25 code · 3 blank · 12 comment · 0 complexity · 6b5ebee7db164d08e0f2ac453db94bbb MD5 · raw file
- module Sass
- module SCSS
- # 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.
- class StaticParser < Parser
- # 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
- def parse_selector(filename)
- init_scanner!
- seq = expr!(:selector_comma_sequence)
- expected("selector") unless @scanner.eos?
- seq.line = @line
- seq.filename = filename
- seq
- end
- private
- def variable; nil; end
- def script_value; nil; end
- def interpolation; nil; end
- def interp_string; s = tok(STRING) and [s]; end
- def interp_ident(ident = IDENT); s = tok(ident) and [s]; end
- def use_css_import?; true; end
- def special_directive(name)
- return unless %w[media import charset].include?(name)
- super
- end
- end
- end
- end