Sha256: fb33f3ded4db6b8ff39d54446351bdf8346f6e446a3ea01936945d2178869ddc

Contents?: true

Size: 1.01 KB

Versions: 25

Compression:

Stored size: 1.01 KB

Contents

require 'strscan'
require 'sass/script/variable'
require 'sass/script/funcall'
require 'sass/script/operation'
require 'sass/script/literal'
require 'sass/script/parser'

module Sass
  # This module contains various SassScript-related functionality.
  module Script
    # :stopdoc:
    # The character that begins a variable.
    VARIABLE_CHAR = ?!

    # The regular expression used to parse variables
    MATCH = /^!([a-zA-Z_]\w*)\s*((?:\|\|)?=)\s*(.+)/

    # The regular expression used to validate variables without matching
    VALIDATE = /^![a-zA-Z_]\w*$/

    def self.resolve(value, line, offset, environment)
      parse(value, line, offset).perform(environment).to_s
    end

    def self.parse(value, line, offset, filename = nil)
      Parser.parse(value, line, offset, filename)
    rescue Sass::SyntaxError => e
      if e.message == "SassScript error"
        e.instance_eval do
          @message += ": #{value.dump}."
        end
      end
      e.sass_line = line
      raise e
    end
    # :startdoc:
  end
end

Version data entries

25 entries across 25 versions & 3 rubygems

Version Path
gohanlonllc-haml-2.1.0.20080513000000 lib/sass/script.rb
gohanlonllc-haml-2.1.0 lib/sass/script.rb
honkster-haml-2.1.0 lib/sass/script.rb
honkster-haml-2.1.1 lib/sass/script.rb
haml-edge-2.1.1 lib/sass/script.rb
haml-edge-2.1.11 lib/sass/script.rb
haml-edge-2.1.12 lib/sass/script.rb
haml-edge-2.1.10 lib/sass/script.rb
haml-edge-2.1.20 lib/sass/script.rb
haml-edge-2.1.21 lib/sass/script.rb
haml-edge-2.1.3 lib/sass/script.rb
haml-edge-2.1.4 lib/sass/script.rb
haml-edge-2.1.5 lib/sass/script.rb
haml-edge-2.1.2 lib/sass/script.rb
haml-edge-2.1.13 lib/sass/script.rb
haml-edge-2.1.14 lib/sass/script.rb
haml-edge-2.1.15 lib/sass/script.rb
haml-edge-2.1.16 lib/sass/script.rb
haml-edge-2.1.17 lib/sass/script.rb
haml-edge-2.1.19 lib/sass/script.rb