sass 3.2.0.alpha.59 → 3.2.0.alpha.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/REVISION +1 -1
- data/VERSION +1 -1
- data/lib/sass/engine.rb +1 -1
- data/lib/sass/media.rb +0 -50
- data/lib/sass/script/funcall.rb +2 -2
- data/lib/sass/script/literal.rb +20 -0
- data/lib/sass/script/operation.rb +0 -8
- data/lib/sass/selector.rb +1 -1
- data/lib/sass/tree/visitors/convert.rb +1 -2
- data/lib/sass/tree/visitors/deep_copy.rb +0 -10
- data/lib/sass/tree/visitors/perform.rb +0 -3
- data/lib/sass/tree/visitors/set_options.rb +0 -10
- data/lib/sass/tree/visitors/to_css.rb +3 -11
- data/lib/sass/util.rb +0 -14
- data/test/sass/engine_test.rb +2 -49
- data/test/sass/script_test.rb +0 -5
- data/test/sass/scss/scss_test.rb +3 -3
- metadata +9 -9
data/REVISION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3b7b3977a280d7117d185295abde521a6860f893
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.2.0.alpha.
|
|
1
|
+
3.2.0.alpha.60
|
data/lib/sass/engine.rb
CHANGED
|
@@ -224,7 +224,7 @@ module Sass
|
|
|
224
224
|
# If you're compiling a single Sass file from the filesystem,
|
|
225
225
|
# use \{Sass::Engine.for\_file}.
|
|
226
226
|
# If you're compiling multiple files from the filesystem,
|
|
227
|
-
# use {Sass::Plugin
|
|
227
|
+
# use {Sass::Plugin.
|
|
228
228
|
#
|
|
229
229
|
# @param template [String] The Sass template.
|
|
230
230
|
# This template can be encoded using any encoding
|
data/lib/sass/media.rb
CHANGED
|
@@ -51,20 +51,6 @@ module Sass::Media
|
|
|
51
51
|
def to_src(options)
|
|
52
52
|
queries.map {|q| q.to_src(options)}.join(', ')
|
|
53
53
|
end
|
|
54
|
-
|
|
55
|
-
# Returns a deep copy of this query list and all its children.
|
|
56
|
-
#
|
|
57
|
-
# @return [QueryList]
|
|
58
|
-
def deep_copy
|
|
59
|
-
QueryList.new(queries.map {|q| q.deep_copy})
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
# Sets the options hash for the script nodes in the media query.
|
|
63
|
-
#
|
|
64
|
-
# @param options [{Symbol => Object}] The options has to set.
|
|
65
|
-
def options=(options)
|
|
66
|
-
queries.each {|q| q.options = options}
|
|
67
|
-
end
|
|
68
54
|
end
|
|
69
55
|
|
|
70
56
|
# A single media query.
|
|
@@ -178,25 +164,6 @@ module Sass::Media
|
|
|
178
164
|
src << expressions.map {|e| e.to_src(options)}.join(' and ')
|
|
179
165
|
src
|
|
180
166
|
end
|
|
181
|
-
|
|
182
|
-
# Returns a deep copy of this query and all its children.
|
|
183
|
-
#
|
|
184
|
-
# @return [Query]
|
|
185
|
-
def deep_copy
|
|
186
|
-
Query.new(
|
|
187
|
-
modifier.map {|c| c.is_a?(Sass::Script::Node) ? c.deep_copy : c},
|
|
188
|
-
type.map {|c| c.is_a?(Sass::Script::Node) ? c.deep_copy : c},
|
|
189
|
-
expressions.map {|q| q.deep_copy})
|
|
190
|
-
end
|
|
191
|
-
|
|
192
|
-
# Sets the options hash for the script nodes in the media query.
|
|
193
|
-
#
|
|
194
|
-
# @param options [{Symbol => Object}] The options has to set.
|
|
195
|
-
def options=(options)
|
|
196
|
-
modifier.each {|m| m.options = options if m.is_a?(Sass::Script::Node)}
|
|
197
|
-
type.each {|t| t.options = options if t.is_a?(Sass::Script::Node)}
|
|
198
|
-
expressions.each {|e| e.options = options}
|
|
199
|
-
end
|
|
200
167
|
end
|
|
201
168
|
|
|
202
169
|
# A media query expression.
|
|
@@ -265,23 +232,6 @@ module Sass::Media
|
|
|
265
232
|
src << ')'
|
|
266
233
|
src
|
|
267
234
|
end
|
|
268
|
-
|
|
269
|
-
# Returns a deep copy of this expression.
|
|
270
|
-
#
|
|
271
|
-
# @return [Expression]
|
|
272
|
-
def deep_copy
|
|
273
|
-
Expression.new(
|
|
274
|
-
name.map {|c| c.is_a?(Sass::Script::Node) ? c.deep_copy : c},
|
|
275
|
-
value.map {|c| c.is_a?(Sass::Script::Node) ? c.deep_copy : c})
|
|
276
|
-
end
|
|
277
|
-
|
|
278
|
-
# Sets the options hash for the script nodes in the expression.
|
|
279
|
-
#
|
|
280
|
-
# @param options [{Symbol => Object}] The options has to set.
|
|
281
|
-
def options=(options)
|
|
282
|
-
name.each {|n| n.options = options if n.is_a?(Sass::Script::Node)}
|
|
283
|
-
value.each {|v| v.options = options if v.is_a?(Sass::Script::Node)}
|
|
284
|
-
end
|
|
285
235
|
end
|
|
286
236
|
|
|
287
237
|
# Converts an interpolation array that may represent a single variable to source.
|
data/lib/sass/script/funcall.rb
CHANGED
|
@@ -36,7 +36,7 @@ module Sass
|
|
|
36
36
|
# @return [String] A string representation of the function call
|
|
37
37
|
def inspect
|
|
38
38
|
args = @args.map {|a| a.inspect}.join(', ')
|
|
39
|
-
keywords =
|
|
39
|
+
keywords = @keywords.sort_by {|k, v| k}.
|
|
40
40
|
map {|k, v| "$#{k}: #{v.inspect}"}.join(', ')
|
|
41
41
|
"#{name}(#{args}#{', ' unless args.empty? || keywords.empty?}#{keywords})"
|
|
42
42
|
end
|
|
@@ -44,7 +44,7 @@ module Sass
|
|
|
44
44
|
# @see Node#to_sass
|
|
45
45
|
def to_sass(opts = {})
|
|
46
46
|
args = @args.map {|a| a.to_sass(opts)}.join(', ')
|
|
47
|
-
keywords =
|
|
47
|
+
keywords = @keywords.sort_by {|k, v| k}.
|
|
48
48
|
map {|k, v| "$#{dasherize(k, opts)}: #{v.to_sass(opts)}"}.join(', ')
|
|
49
49
|
"#{dasherize(name, opts)}(#{args}#{', ' unless args.empty? || keywords.empty?}#{keywords})"
|
|
50
50
|
end
|
data/lib/sass/script/literal.rb
CHANGED
|
@@ -55,6 +55,26 @@ The #options attribute is not set on this #{self.class}.
|
|
|
55
55
|
MSG
|
|
56
56
|
end
|
|
57
57
|
|
|
58
|
+
# The SassScript `and` operation.
|
|
59
|
+
#
|
|
60
|
+
# @param other [Literal] The right-hand side of the operator
|
|
61
|
+
# @return [Literal] The result of a logical and:
|
|
62
|
+
# `other` if this literal isn't a false {Bool},
|
|
63
|
+
# and this literal otherwise
|
|
64
|
+
def and(other)
|
|
65
|
+
to_bool ? other : self
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# The SassScript `or` operation.
|
|
69
|
+
#
|
|
70
|
+
# @param other [Literal] The right-hand side of the operator
|
|
71
|
+
# @return [Literal] The result of the logical or:
|
|
72
|
+
# this literal if it isn't a false {Bool},
|
|
73
|
+
# and `other` otherwise
|
|
74
|
+
def or(other)
|
|
75
|
+
to_bool ? self : other
|
|
76
|
+
end
|
|
77
|
+
|
|
58
78
|
# The SassScript `==` operation.
|
|
59
79
|
# **Note that this returns a {Sass::Script::Bool} object,
|
|
60
80
|
# not a Ruby boolean**.
|
|
@@ -72,14 +72,6 @@ module Sass::Script
|
|
|
72
72
|
# @raise [Sass::SyntaxError] if the operation is undefined for the operands
|
|
73
73
|
def _perform(environment)
|
|
74
74
|
literal1 = @operand1.perform(environment)
|
|
75
|
-
|
|
76
|
-
# Special-case :and and :or to support short-circuiting.
|
|
77
|
-
if @operator == :and
|
|
78
|
-
return literal1.to_bool ? @operand2.perform(environment) : literal1
|
|
79
|
-
elsif @operator == :or
|
|
80
|
-
return literal1.to_bool ? literal1 : @operand2.perform(environment)
|
|
81
|
-
end
|
|
82
|
-
|
|
83
75
|
literal2 = @operand2.perform(environment)
|
|
84
76
|
|
|
85
77
|
begin
|
data/lib/sass/selector.rb
CHANGED
|
@@ -379,7 +379,7 @@ module Sass
|
|
|
379
379
|
attr_reader :selector
|
|
380
380
|
|
|
381
381
|
# @param [String] The name of the pseudoclass
|
|
382
|
-
# @param [Selector::
|
|
382
|
+
# @param [Selector::Sequence] The selector argument
|
|
383
383
|
def initialize(name, selector)
|
|
384
384
|
@name = name
|
|
385
385
|
@selector = selector
|
|
@@ -168,8 +168,7 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
|
168
168
|
def visit_mixin(node)
|
|
169
169
|
unless node.args.empty? && node.keywords.empty?
|
|
170
170
|
args = node.args.map {|a| a.to_sass(@options)}.join(", ")
|
|
171
|
-
keywords =
|
|
172
|
-
map {|k, v| "$#{dasherize(k)}: #{v.to_sass(@options)}"}.join(', ')
|
|
171
|
+
keywords = node.keywords.map {|k, v| "$#{dasherize(k)}: #{v.to_sass(@options)}"}.join(', ')
|
|
173
172
|
arglist = "(#{args}#{', ' unless args.empty? || keywords.empty?}#{keywords})"
|
|
174
173
|
end
|
|
175
174
|
"#{tab_str}#{@format == :sass ? '+' : '@include '}#{dasherize(node.name)}#{arglist}#{node.has_children ? yield : semi}\n"
|
|
@@ -84,14 +84,4 @@ class Sass::Tree::Visitors::DeepCopy < Sass::Tree::Visitors::Base
|
|
|
84
84
|
node.expr = node.expr.deep_copy
|
|
85
85
|
yield
|
|
86
86
|
end
|
|
87
|
-
|
|
88
|
-
def visit_directive(node)
|
|
89
|
-
node.value = node.value.map {|c| c.is_a?(Sass::Script::Node) ? c.deep_copy : c}
|
|
90
|
-
yield
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
def visit_media(node)
|
|
94
|
-
node.query = query.deep_copy
|
|
95
|
-
yield
|
|
96
|
-
end
|
|
97
87
|
end
|
|
@@ -247,8 +247,6 @@ END
|
|
|
247
247
|
# Runs SassScript interpolation in the selector,
|
|
248
248
|
# and then parses the result into a {Sass::Selector::CommaSequence}.
|
|
249
249
|
def visit_rule(node)
|
|
250
|
-
rule = node.rule
|
|
251
|
-
rule = rule.map {|e| e.is_a?(String) && e != ' ' ? e.strip : e} if node.style == :compressed
|
|
252
250
|
parser = Sass::SCSS::StaticParser.new(run_interp(node.rule), node.filename, node.line)
|
|
253
251
|
node.parsed_rules ||= parser.parse_selector
|
|
254
252
|
if node.options[:trace_selectors]
|
|
@@ -297,7 +295,6 @@ END
|
|
|
297
295
|
end
|
|
298
296
|
|
|
299
297
|
def visit_media(node)
|
|
300
|
-
node.query = node.query.deep_copy
|
|
301
298
|
node.query.perform {|interp| run_interp(interp)}
|
|
302
299
|
yield
|
|
303
300
|
end
|
|
@@ -94,14 +94,4 @@ class Sass::Tree::Visitors::SetOptions < Sass::Tree::Visitors::Base
|
|
|
94
94
|
node.expr.options = @options
|
|
95
95
|
yield
|
|
96
96
|
end
|
|
97
|
-
|
|
98
|
-
def visit_directive(node)
|
|
99
|
-
node.value.each {|c| c.options = @options if c.is_a?(Sass::Script::Node)}
|
|
100
|
-
yield
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
def visit_media(node)
|
|
104
|
-
node.query.options = @options
|
|
105
|
-
yield
|
|
106
|
-
end
|
|
107
97
|
end
|
|
@@ -67,10 +67,8 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
def visit_directive(node)
|
|
70
|
-
was_in_directive = @in_directive
|
|
71
70
|
return node.resolved_value + ";" unless node.has_children
|
|
72
71
|
return node.resolved_value + " {}" if node.children.empty?
|
|
73
|
-
@in_directive = @in_directive || !node.is_a?(Sass::Tree::MediaNode)
|
|
74
72
|
result = if node.style == :compressed
|
|
75
73
|
"#{node.resolved_value}{"
|
|
76
74
|
else
|
|
@@ -103,8 +101,6 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
|
103
101
|
else
|
|
104
102
|
(node.style == :expanded ? "\n" : " ") + "}\n"
|
|
105
103
|
end
|
|
106
|
-
ensure
|
|
107
|
-
@in_directive = was_in_directive
|
|
108
104
|
end
|
|
109
105
|
|
|
110
106
|
def visit_media(node)
|
|
@@ -137,11 +133,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
|
137
133
|
joined_rules = node.resolved_rules.members.map do |seq|
|
|
138
134
|
next if seq.has_placeholder?
|
|
139
135
|
rule_part = seq.to_a.join
|
|
140
|
-
if node.style == :compressed
|
|
141
|
-
rule_part.gsub!(/([^,])\s*\n\s*/m, '\1 ')
|
|
142
|
-
rule_part.gsub!(/\s*([,+>])\s*/m, '\1')
|
|
143
|
-
rule_part.strip!
|
|
144
|
-
end
|
|
136
|
+
rule_part.gsub!(/\s*([^,])\s*\n\s*/m, '\1 ') if node.style == :compressed
|
|
145
137
|
rule_part
|
|
146
138
|
end.compact.join(rule_separator)
|
|
147
139
|
|
|
@@ -153,7 +145,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
|
153
145
|
old_spaces = ' ' * @tabs
|
|
154
146
|
spaces = ' ' * (@tabs + 1)
|
|
155
147
|
if node.style != :compressed
|
|
156
|
-
if node.options[:debug_info]
|
|
148
|
+
if node.options[:debug_info]
|
|
157
149
|
to_return << visit(debug_info_rule(node.debug_info, node.options)) << "\n"
|
|
158
150
|
elsif node.options[:trace_selectors]
|
|
159
151
|
to_return << "#{old_spaces}/* "
|
|
@@ -199,7 +191,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
|
199
191
|
|
|
200
192
|
def debug_info_rule(debug_info, options)
|
|
201
193
|
node = Sass::Tree::DirectiveNode.resolved("@media -sass-debug-info")
|
|
202
|
-
|
|
194
|
+
debug_info.map {|k, v| [k.to_s, v.to_s]}.sort.each do |k, v|
|
|
203
195
|
rule = Sass::Tree::RuleNode.new([""])
|
|
204
196
|
rule.resolved_rules = Sass::Selector::CommaSequence.new(
|
|
205
197
|
[Sass::Selector::Sequence.new(
|
data/lib/sass/util.rb
CHANGED
|
@@ -218,20 +218,6 @@ module Sass
|
|
|
218
218
|
lcs_backtrace(lcs_table(x, y, &block), x, y, x.size-1, y.size-1, &block)
|
|
219
219
|
end
|
|
220
220
|
|
|
221
|
-
# Converts a Hash to an Array. This is usually identical to `Hash#to_a`,
|
|
222
|
-
# with the following exceptions:
|
|
223
|
-
#
|
|
224
|
-
# * In Ruby 1.8, `Hash#to_a` is not deterministically ordered, but this is.
|
|
225
|
-
# * In Ruby 1.9 when running tests, this is ordered in the same way it would
|
|
226
|
-
# be under Ruby 1.8 (sorted key order rather than insertion order).
|
|
227
|
-
#
|
|
228
|
-
# @param hash [Hash]
|
|
229
|
-
# @return [Array]
|
|
230
|
-
def hash_to_a(hash)
|
|
231
|
-
return has.to_a unless ruby1_8? || defined?(Test::Unit)
|
|
232
|
-
return hash.sort_by {|k, v| k}
|
|
233
|
-
end
|
|
234
|
-
|
|
235
221
|
# Returns information about the caller of the previous method.
|
|
236
222
|
#
|
|
237
223
|
# @param entry [String] An entry in the `#caller` list, or a similarly formatted string
|
data/test/sass/engine_test.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
|
-
require
|
|
4
|
-
require
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
require 'sass/test_helper'
|
|
5
5
|
require 'sass/engine'
|
|
6
6
|
require 'stringio'
|
|
7
7
|
require 'mock_importer'
|
|
@@ -1028,23 +1028,6 @@ foo
|
|
|
1028
1028
|
SASS
|
|
1029
1029
|
end
|
|
1030
1030
|
|
|
1031
|
-
def test_debug_info_in_keyframes
|
|
1032
|
-
assert_equal(<<CSS, render(<<SASS, :debug_info => true))
|
|
1033
|
-
@-webkit-keyframes warm {
|
|
1034
|
-
from {
|
|
1035
|
-
color: black; }
|
|
1036
|
-
|
|
1037
|
-
to {
|
|
1038
|
-
color: red; } }
|
|
1039
|
-
CSS
|
|
1040
|
-
@-webkit-keyframes warm
|
|
1041
|
-
from
|
|
1042
|
-
color: black
|
|
1043
|
-
to
|
|
1044
|
-
color: red
|
|
1045
|
-
SASS
|
|
1046
|
-
end
|
|
1047
|
-
|
|
1048
1031
|
def test_empty_first_line
|
|
1049
1032
|
assert_equal("#a {\n b: c; }\n", render("#a\n\n b: c"))
|
|
1050
1033
|
end
|
|
@@ -2229,27 +2212,6 @@ SASS
|
|
|
2229
2212
|
|
|
2230
2213
|
# Regression tests
|
|
2231
2214
|
|
|
2232
|
-
def test_variable_in_media_in_mixin
|
|
2233
|
-
assert_equal <<CSS, render(<<SASS)
|
|
2234
|
-
@media screen and (min-width: 10px) {
|
|
2235
|
-
body {
|
|
2236
|
-
background: red; } }
|
|
2237
|
-
@media screen and (min-width: 20px) {
|
|
2238
|
-
body {
|
|
2239
|
-
background: blue; } }
|
|
2240
|
-
CSS
|
|
2241
|
-
@mixin respond-to($width)
|
|
2242
|
-
@media screen and (min-width: $width)
|
|
2243
|
-
@content
|
|
2244
|
-
|
|
2245
|
-
body
|
|
2246
|
-
@include respond-to(10px)
|
|
2247
|
-
background: red
|
|
2248
|
-
@include respond-to(20px)
|
|
2249
|
-
background: blue
|
|
2250
|
-
SASS
|
|
2251
|
-
end
|
|
2252
|
-
|
|
2253
2215
|
def test_tricky_mixin_loop_exception
|
|
2254
2216
|
render <<SASS
|
|
2255
2217
|
@mixin foo($a)
|
|
@@ -2579,15 +2541,6 @@ CSS
|
|
|
2579
2541
|
SASS
|
|
2580
2542
|
end
|
|
2581
2543
|
|
|
2582
|
-
def test_selector_compression
|
|
2583
|
-
assert_equal <<CSS, render(<<SASS, :style => :compressed)
|
|
2584
|
-
a>b,c+d,:-moz-any(e,f,g){h:i}
|
|
2585
|
-
CSS
|
|
2586
|
-
a > b, c + d, :-moz-any(e, f, g)
|
|
2587
|
-
h: i
|
|
2588
|
-
SASS
|
|
2589
|
-
end
|
|
2590
|
-
|
|
2591
2544
|
# Encodings
|
|
2592
2545
|
|
|
2593
2546
|
unless Sass::Util.ruby1_8?
|
data/test/sass/script_test.rb
CHANGED
|
@@ -432,11 +432,6 @@ SASS
|
|
|
432
432
|
assert_raise_message(Sass::SyntaxError, "wrong number of arguments (1 for 0) for `arg-error'") {resolve("arg-error(1)")}
|
|
433
433
|
end
|
|
434
434
|
|
|
435
|
-
def test_boolean_ops_short_circuit
|
|
436
|
-
assert_equal "false", resolve("$ie and $ie <= 7", {}, env('ie' => Sass::Script::Bool.new(false)))
|
|
437
|
-
assert_equal "true", resolve("$ie or $undef", {}, env('ie' => Sass::Script::Bool.new(true)))
|
|
438
|
-
end
|
|
439
|
-
|
|
440
435
|
# Regression Tests
|
|
441
436
|
|
|
442
437
|
def test_funcall_has_higher_precedence_than_color_name
|
data/test/sass/scss/scss_test.rb
CHANGED
|
@@ -1245,11 +1245,11 @@ SCSS
|
|
|
1245
1245
|
|
|
1246
1246
|
|
|
1247
1247
|
def test_newlines_removed_from_selectors_when_compressed
|
|
1248
|
-
assert_equal <<CSS, render(<<SCSS, :style
|
|
1248
|
+
assert_equal <<CSS, render(<<SCSS, :style=>:compressed)
|
|
1249
1249
|
z a,z b{display:block}
|
|
1250
1250
|
CSS
|
|
1251
|
-
a
|
|
1252
|
-
|
|
1251
|
+
a,
|
|
1252
|
+
b {
|
|
1253
1253
|
z & {
|
|
1254
1254
|
display: block;
|
|
1255
1255
|
}
|
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sass
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 592302949
|
|
5
5
|
prerelease: 6
|
|
6
6
|
segments:
|
|
7
7
|
- 3
|
|
8
8
|
- 2
|
|
9
9
|
- 0
|
|
10
10
|
- alpha
|
|
11
|
-
-
|
|
12
|
-
version: 3.2.0.alpha.
|
|
11
|
+
- 60
|
|
12
|
+
version: 3.2.0.alpha.60
|
|
13
13
|
platform: ruby
|
|
14
14
|
authors:
|
|
15
15
|
- Nathan Weizenbaum
|
|
@@ -19,7 +19,7 @@ autorequire:
|
|
|
19
19
|
bindir: bin
|
|
20
20
|
cert_chain: []
|
|
21
21
|
|
|
22
|
-
date: 2012-01-
|
|
22
|
+
date: 2012-01-19 00:00:00 -05:00
|
|
23
23
|
default_executable:
|
|
24
24
|
dependencies:
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
@@ -86,7 +86,6 @@ files:
|
|
|
86
86
|
- lib/sass/logger.rb
|
|
87
87
|
- lib/sass/logger/base.rb
|
|
88
88
|
- lib/sass/logger/log_level.rb
|
|
89
|
-
- lib/sass/util.rb
|
|
90
89
|
- lib/sass/plugin.rb
|
|
91
90
|
- lib/sass/plugin/compiler.rb
|
|
92
91
|
- lib/sass/plugin/configuration.rb
|
|
@@ -134,7 +133,7 @@ files:
|
|
|
134
133
|
- lib/sass/shared.rb
|
|
135
134
|
- lib/sass/tree/charset_node.rb
|
|
136
135
|
- lib/sass/tree/comment_node.rb
|
|
137
|
-
- lib/sass/tree/
|
|
136
|
+
- lib/sass/tree/node.rb
|
|
138
137
|
- lib/sass/tree/debug_node.rb
|
|
139
138
|
- lib/sass/tree/directive_node.rb
|
|
140
139
|
- lib/sass/tree/each_node.rb
|
|
@@ -143,15 +142,14 @@ files:
|
|
|
143
142
|
- lib/sass/tree/function_node.rb
|
|
144
143
|
- lib/sass/tree/if_node.rb
|
|
145
144
|
- lib/sass/tree/import_node.rb
|
|
145
|
+
- lib/sass/tree/media_node.rb
|
|
146
146
|
- lib/sass/tree/mixin_def_node.rb
|
|
147
|
-
- lib/sass/tree/node.rb
|
|
148
147
|
- lib/sass/tree/mixin_node.rb
|
|
149
148
|
- lib/sass/tree/prop_node.rb
|
|
150
149
|
- lib/sass/tree/return_node.rb
|
|
151
150
|
- lib/sass/tree/root_node.rb
|
|
152
151
|
- lib/sass/tree/rule_node.rb
|
|
153
152
|
- lib/sass/tree/content_node.rb
|
|
154
|
-
- lib/sass/tree/trace_node.rb
|
|
155
153
|
- lib/sass/tree/variable_node.rb
|
|
156
154
|
- lib/sass/tree/visitors/base.rb
|
|
157
155
|
- lib/sass/tree/visitors/check_nesting.rb
|
|
@@ -163,10 +161,12 @@ files:
|
|
|
163
161
|
- lib/sass/tree/visitors/to_css.rb
|
|
164
162
|
- lib/sass/tree/warn_node.rb
|
|
165
163
|
- lib/sass/tree/while_node.rb
|
|
166
|
-
- lib/sass/
|
|
164
|
+
- lib/sass/tree/trace_node.rb
|
|
165
|
+
- lib/sass/util.rb
|
|
167
166
|
- lib/sass/util/multibyte_string_scanner.rb
|
|
168
167
|
- lib/sass/util/subset_map.rb
|
|
169
168
|
- lib/sass/version.rb
|
|
169
|
+
- lib/sass/media.rb
|
|
170
170
|
- vendor/fssm/Gemfile
|
|
171
171
|
- vendor/fssm/LICENSE
|
|
172
172
|
- vendor/fssm/README.markdown
|