mirror of
https://github.com/haml/haml.git
synced 2022-11-09 12:33:31 -05:00
[Sass] Don't pass options to Tree::Node#initialize.
This commit is contained in:
parent
da671b70d3
commit
1146240b73
15 changed files with 49 additions and 52 deletions
|
@ -130,7 +130,7 @@ module Sass
|
|||
private
|
||||
|
||||
def build_tree
|
||||
root = Tree::Node.new({})
|
||||
root = Tree::Node.new
|
||||
whitespace
|
||||
rules root
|
||||
expand_commas root
|
||||
|
@ -154,7 +154,7 @@ module Sass
|
|||
directive = rule[0] == ?@
|
||||
|
||||
if directive
|
||||
node = Tree::DirectiveNode.new(rule, {})
|
||||
node = Tree::DirectiveNode.new(rule)
|
||||
return node if @template.scan(/;/)
|
||||
|
||||
assert_match /\{/
|
||||
|
@ -165,7 +165,7 @@ module Sass
|
|||
end
|
||||
|
||||
assert_match /\{/
|
||||
node = Tree::RuleNode.new(rule, {})
|
||||
node = Tree::RuleNode.new(rule)
|
||||
attributes(node)
|
||||
return node
|
||||
end
|
||||
|
@ -183,7 +183,7 @@ module Sass
|
|||
end
|
||||
|
||||
assert_match /(;|(?=\}))/
|
||||
rule << Tree::AttrNode.new(name, value, nil, {})
|
||||
rule << Tree::AttrNode.new(name, value, nil)
|
||||
end
|
||||
|
||||
assert_match /\}/
|
||||
|
@ -231,7 +231,7 @@ module Sass
|
|||
root.children.map! do |child|
|
||||
next child unless Tree::RuleNode === child && child.rule.include?(',')
|
||||
child.rule.split(',').map do |rule|
|
||||
node = Tree::RuleNode.new(rule.strip, {})
|
||||
node = Tree::RuleNode.new(rule.strip)
|
||||
node.children = child.children
|
||||
node
|
||||
end
|
||||
|
@ -277,7 +277,7 @@ module Sass
|
|||
root.children.select { |c| Tree::RuleNode === c }.each do |child|
|
||||
root.children.delete child
|
||||
first, rest = child.rule.scan(/^(&?(?: .|[^ ])[^.#: \[]*)([.#: \[].*)?$/).first
|
||||
rules[first] ||= Tree::RuleNode.new(first, {})
|
||||
rules[first] ||= Tree::RuleNode.new(first)
|
||||
if rest
|
||||
child.rule = "&" + rest
|
||||
rules[first] << child
|
||||
|
|
|
@ -120,7 +120,7 @@ module Sass
|
|||
end
|
||||
|
||||
def render_to_tree
|
||||
root = Tree::Node.new(@options)
|
||||
root = Tree::Node.new
|
||||
append_children(root, tree(tabulate(@template)).first, true)
|
||||
root.options = @options
|
||||
root
|
||||
|
@ -251,7 +251,7 @@ END
|
|||
else
|
||||
# Support CSS3-style pseudo-elements,
|
||||
# which begin with ::
|
||||
Tree::RuleNode.new(line.text, @options)
|
||||
Tree::RuleNode.new(line.text)
|
||||
end
|
||||
when Script::VARIABLE_CHAR
|
||||
parse_variable(line)
|
||||
|
@ -260,12 +260,12 @@ END
|
|||
when DIRECTIVE_CHAR
|
||||
parse_directive(parent, line, root)
|
||||
when ESCAPE_CHAR
|
||||
Tree::RuleNode.new(line.text[1..-1], @options)
|
||||
Tree::RuleNode.new(line.text[1..-1])
|
||||
when MIXIN_DEFINITION_CHAR
|
||||
parse_mixin_definition(line)
|
||||
when MIXIN_INCLUDE_CHAR
|
||||
if line.text[1].nil?
|
||||
Tree::RuleNode.new(line.text, @options)
|
||||
Tree::RuleNode.new(line.text)
|
||||
else
|
||||
parse_mixin_include(line, root)
|
||||
end
|
||||
|
@ -273,7 +273,7 @@ END
|
|||
if line.text =~ ATTRIBUTE_ALTERNATE_MATCHER
|
||||
parse_attribute(line, ATTRIBUTE_ALTERNATE)
|
||||
else
|
||||
Tree::RuleNode.new(line.text, @options)
|
||||
Tree::RuleNode.new(line.text)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -289,7 +289,7 @@ END
|
|||
else
|
||||
value
|
||||
end
|
||||
Tree::AttrNode.new(name, expr, attribute_regx == ATTRIBUTE ? :old : :new, @options)
|
||||
Tree::AttrNode.new(name, expr, attribute_regx == ATTRIBUTE ? :old : :new)
|
||||
end
|
||||
|
||||
def parse_variable(line)
|
||||
|
@ -297,14 +297,14 @@ END
|
|||
raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath variable declarations.", @line + 1) unless line.children.empty?
|
||||
raise SyntaxError.new("Invalid variable: \"#{line.text}\".", @line) unless name && value
|
||||
|
||||
Tree::VariableNode.new(name, parse_script(value, :offset => line.offset + line.text.index(value)), op == '||=', @options)
|
||||
Tree::VariableNode.new(name, parse_script(value, :offset => line.offset + line.text.index(value)), op == '||=')
|
||||
end
|
||||
|
||||
def parse_comment(line)
|
||||
if line[1] == CSS_COMMENT_CHAR || line[1] == SASS_COMMENT_CHAR
|
||||
Tree::CommentNode.new(line, line[1] == SASS_COMMENT_CHAR, @options)
|
||||
Tree::CommentNode.new(line, line[1] == SASS_COMMENT_CHAR)
|
||||
else
|
||||
Tree::RuleNode.new(line, @options)
|
||||
Tree::RuleNode.new(line)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -323,17 +323,17 @@ END
|
|||
parse_else(parent, line, value)
|
||||
elsif directive == "while"
|
||||
raise SyntaxError.new("Invalid while directive '@while': expected expression.") unless value
|
||||
Tree::WhileNode.new(parse_script(value, :offset => offset), @options)
|
||||
Tree::WhileNode.new(parse_script(value, :offset => offset))
|
||||
elsif directive == "if"
|
||||
raise SyntaxError.new("Invalid if directive '@if': expected expression.") unless value
|
||||
Tree::IfNode.new(parse_script(value, :offset => offset), @options)
|
||||
Tree::IfNode.new(parse_script(value, :offset => offset))
|
||||
elsif directive == "debug"
|
||||
raise SyntaxError.new("Invalid debug directive '@debug': expected expression.") unless value
|
||||
raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath debug directives.", @line + 1) unless line.children.empty?
|
||||
offset = line.offset + line.text.index(value).to_i
|
||||
Tree::DebugNode.new(parse_script(value, :offset => offset), @options)
|
||||
Tree::DebugNode.new(parse_script(value, :offset => offset))
|
||||
else
|
||||
Tree::DirectiveNode.new(line.text, @options)
|
||||
Tree::DirectiveNode.new(line.text)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -354,7 +354,7 @@ END
|
|||
|
||||
parsed_from = parse_script(from_expr, :offset => line.offset + line.text.index(from_expr))
|
||||
parsed_to = parse_script(to_expr, :offset => line.offset + line.text.index(to_expr))
|
||||
Tree::ForNode.new(var[1..-1], parsed_from, parsed_to, to_name == 'to', @options)
|
||||
Tree::ForNode.new(var[1..-1], parsed_from, parsed_to, to_name == 'to')
|
||||
end
|
||||
|
||||
def parse_else(parent, line, text)
|
||||
|
@ -368,7 +368,7 @@ END
|
|||
expr = parse_script($1, :offset => line.offset + line.text.index($1))
|
||||
end
|
||||
|
||||
node = Tree::IfNode.new(expr, @options)
|
||||
node = Tree::IfNode.new(expr)
|
||||
append_children(node, line.children, false)
|
||||
previous.add_else node
|
||||
nil
|
||||
|
@ -403,7 +403,7 @@ END
|
|||
default = parse_script(default, :offset => line.offset + line.text.index(default)) if default
|
||||
{ :name => arg[1..-1], :default_value => default }
|
||||
end
|
||||
Tree::MixinDefNode.new(name, args, @options)
|
||||
Tree::MixinDefNode.new(name, args)
|
||||
end
|
||||
|
||||
def parse_mixin_include(line, root)
|
||||
|
@ -413,7 +413,7 @@ END
|
|||
raise SyntaxError.new("Invalid mixin include \"#{line.text}\".", @line) if name.nil? || args.nil?
|
||||
args.each {|a| raise SyntaxError.new("Mixin arguments can't be empty.", @line) if a.empty?}
|
||||
|
||||
Tree::MixinNode.new(name, args.map {|s| parse_script(s, :offset => line.offset + line.text.index(s))}, @options)
|
||||
Tree::MixinNode.new(name, args.map {|s| parse_script(s, :offset => line.offset + line.text.index(s))})
|
||||
end
|
||||
|
||||
def parse_script(script, options = {})
|
||||
|
@ -438,7 +438,7 @@ END
|
|||
raise SyntaxError.new(e.message, @line)
|
||||
end
|
||||
|
||||
next Tree::DirectiveNode.new("@import url(#{filename})", @options) if filename =~ /\.css$/
|
||||
next Tree::DirectiveNode.new("@import url(#{filename})") if filename =~ /\.css$/
|
||||
compiled_filename = filename.gsub(/\.sass$/, ".sassc")
|
||||
|
||||
if File.readable?(compiled_filename)
|
||||
|
@ -462,7 +462,7 @@ END
|
|||
end
|
||||
end
|
||||
|
||||
Tree::FileNode.new(filename, root.children, @options)
|
||||
Tree::FileNode.new(filename, root.children)
|
||||
end.flatten
|
||||
end
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@ module Sass::Tree
|
|||
class AttrNode < Node
|
||||
attr_accessor :name, :value
|
||||
|
||||
def initialize(name, value, attr_syntax, options)
|
||||
def initialize(name, value, attr_syntax)
|
||||
@name = name
|
||||
@value = value
|
||||
@attr_syntax = attr_syntax
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
def ==(other)
|
||||
|
|
|
@ -4,10 +4,10 @@ module Sass::Tree
|
|||
class CommentNode < Node
|
||||
attr_accessor :value
|
||||
|
||||
def initialize(value, silent, options)
|
||||
def initialize(value, silent)
|
||||
@value = value[2..-1].strip
|
||||
@silent = silent
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
def options=(options)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Sass
|
||||
module Tree
|
||||
class DebugNode < Node
|
||||
def initialize(expr, options)
|
||||
def initialize(expr)
|
||||
@expr = expr
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
protected
|
||||
|
|
|
@ -2,9 +2,9 @@ module Sass::Tree
|
|||
class DirectiveNode < Node
|
||||
attr_accessor :value
|
||||
|
||||
def initialize(value, options)
|
||||
def initialize(value)
|
||||
@value = value
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
def to_s(tabs)
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
module Sass
|
||||
module Tree
|
||||
class FileNode < Node
|
||||
def initialize(filename, children, options)
|
||||
def initialize(filename, children)
|
||||
@filename = filename
|
||||
super(options)
|
||||
self.children = children
|
||||
end
|
||||
|
||||
|
|
|
@ -2,12 +2,12 @@ require 'sass/tree/node'
|
|||
|
||||
module Sass::Tree
|
||||
class ForNode < Node
|
||||
def initialize(var, from, to, exclusive, options)
|
||||
def initialize(var, from, to, exclusive)
|
||||
@var = var
|
||||
@from = from
|
||||
@to = to
|
||||
@exclusive = exclusive
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
protected
|
||||
|
|
|
@ -4,10 +4,10 @@ module Sass::Tree
|
|||
class IfNode < Node
|
||||
attr_accessor :else
|
||||
|
||||
def initialize(expr, options)
|
||||
def initialize(expr)
|
||||
@expr = expr
|
||||
@last_else = self
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
def add_else(node)
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
module Sass
|
||||
module Tree
|
||||
class MixinDefNode < Node
|
||||
def initialize(name, args, options)
|
||||
def initialize(name, args)
|
||||
@name = name
|
||||
@args = args
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -2,10 +2,10 @@ require 'sass/tree/node'
|
|||
|
||||
module Sass::Tree
|
||||
class MixinNode < Node
|
||||
def initialize(name, args, options)
|
||||
def initialize(name, args)
|
||||
@name = name
|
||||
@args = args
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
protected
|
||||
|
|
|
@ -6,9 +6,7 @@ module Sass
|
|||
attr_accessor :filename
|
||||
attr_reader :options
|
||||
|
||||
def initialize(options)
|
||||
@options = options
|
||||
@style = options[:style]
|
||||
def initialize
|
||||
@children = []
|
||||
end
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@ module Sass::Tree
|
|||
|
||||
attr_accessor :rules
|
||||
|
||||
def initialize(rule, options)
|
||||
def initialize(rule)
|
||||
@rules = [rule]
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
def rule
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
module Sass
|
||||
module Tree
|
||||
class VariableNode < Node
|
||||
def initialize(name, expr, guarded, options)
|
||||
def initialize(name, expr, guarded)
|
||||
@name = name
|
||||
@expr = expr
|
||||
@guarded = guarded
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
protected
|
||||
|
|
|
@ -2,9 +2,9 @@ require 'sass/tree/node'
|
|||
|
||||
module Sass::Tree
|
||||
class WhileNode < Node
|
||||
def initialize(expr, options)
|
||||
def initialize(expr)
|
||||
@expr = expr
|
||||
super(options)
|
||||
super()
|
||||
end
|
||||
|
||||
private
|
||||
|
|
Loading…
Add table
Reference in a new issue