module Sass::Constant
def parenthesize(value, return_after_expr = false)
def parenthesize(value, return_after_expr = false) to_return = [] while (token = value.shift) && token != :close case token when :open to_return << parenthesize(value) when :neg # This is never actually reached, but we'll leave it in just in case. raise Sass::SyntaxError.new("Unterminated unary minus.") if value.first.nil? to_return << [:neg, parenthesize(value, true)] when :const raise Sass::SyntaxError.new("Unterminated constant.") if value.first.nil? raise Sass::SyntaxError.new("Invalid constant.") unless value.first.is_a?(::String) to_return << [:const, value.first] value.shift else to_return << token end return to_return.first if return_after_expr end return to_return end