Sha256: 67d9f63b7d72b6e769430edd3dd63d54e99c0215bd5849d23e93172f51a21668

Contents?: true

Size: 1.48 KB

Versions: 343

Compression:

Stored size: 1.48 KB

Contents

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

module Sass
  # 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.
  module Script
    # The regular expression used to parse variables.
    MATCH = /^\$(#{Sass::SCSS::RX::IDENT})\s*:\s*(.+?)(!(?i:default))?$/

    # The regular expression used to validate variables without matching.
    VALIDATE = /^\$#{Sass::SCSS::RX::IDENT}$/

    # Parses a string of SassScript
    #
    # @param value [String] The SassScript
    # @param line [Fixnum] The number of the line on which the SassScript appeared.
    #   Used for error reporting
    # @param offset [Fixnum] The number of characters in on `line` that the SassScript started.
    #   Used for error reporting
    # @param options [{Symbol => Object}] An options hash;
    #   see {file:SASS_REFERENCE.md#sass_options the Sass options documentation}
    # @return [Script::Node] The root node of the parse tree
    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

  end
end

Version data entries

343 entries across 202 versions & 14 rubygems

Version Path
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/sass-3.2.19/lib/sass/script.rb
classiccms-0.7.5 vendor/bundle/gems/sass-3.1.18/lib/sass/script.rb
classiccms-0.7.5 vendor/bundle/gems/sass-3.1.17/lib/sass/script.rb
classiccms-0.7.5 vendor/bundle/gems/sass-3.1.15/lib/sass/script.rb
classiccms-0.7.5 vendor/bundle/gems/sass-3.1.19/lib/sass/script.rb
classiccms-0.7.4 vendor/bundle/gems/sass-3.1.15/lib/sass/script.rb
classiccms-0.7.4 vendor/bundle/gems/sass-3.1.19/lib/sass/script.rb
classiccms-0.7.4 vendor/bundle/gems/sass-3.1.17/lib/sass/script.rb
classiccms-0.7.4 vendor/bundle/gems/sass-3.1.18/lib/sass/script.rb
classiccms-0.7.3 vendor/bundle/gems/sass-3.1.15/lib/sass/script.rb
classiccms-0.7.3 vendor/bundle/gems/sass-3.1.17/lib/sass/script.rb
classiccms-0.7.3 vendor/bundle/gems/sass-3.1.19/lib/sass/script.rb
classiccms-0.7.3 vendor/bundle/gems/sass-3.1.18/lib/sass/script.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/sass-3.2.19/lib/sass/script.rb
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/sass-3.2.5/lib/sass/script.rb
xass-0.1.0 lib/sass/script.rb
oreorenasass-3.4.14 lib/sass/script.rb
oreorenasass-3.4.13 lib/sass/script.rb
oreorenasass-3.4.12 lib/sass/script.rb
oreorenasass-3.4.11 lib/sass/script.rb