Module: Sass::Script

Defined in:
lib/sass/script.rb,
lib/sass/script/lexer.rb,
lib/sass/script/parser.rb,
lib/sass/script/css_lexer.rb,
lib/sass/script/functions.rb,
lib/sass/script/css_parser.rb

Overview

SassScript is code that's embedded in Sass documents to allow for property values to be computed from variables.

This module contains code that handles the parsing and evaluation of SassScript.

Defined Under Namespace

Modules: Functions, Tree, Value Classes: CssLexer, CssParser, Lexer, Parser

Constant Summary collapse

MATCH =

The regular expression used to parse variables.

/^\$(#{Sass::SCSS::RX::IDENT})\s*:\s*(.+?)
(!#{Sass::SCSS::RX::IDENT}(?:\s+!#{Sass::SCSS::RX::IDENT})*)?$/x
VALIDATE =

The regular expression used to validate variables without matching.

/^\$#{Sass::SCSS::RX::IDENT}$/

Class Method Summary collapse

Class Method Details

.parse(value, line, offset, options = {}) ⇒ Script::Tree::Node

Parses a string of SassScript



26
27
28
29
30
31
32
# File 'lib/sass/script.rb', line 26

def self.parse(value, line, offset, options = {})
  Parser.parse(value, line, offset, options)
rescue Sass::SyntaxError => e
  e.message << ": #{value.inspect}." if e.message == "SassScript error"
  e.modify_backtrace(:line => line, :filename => options[:filename])
  raise e
end