sass 3.4.16 → 3.4.17
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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/script/functions.rb +23 -6
- data/lib/sass/script/parser.rb +4 -6
- data/lib/sass/script/tree/list_literal.rb +31 -5
- data/lib/sass/script/tree/literal.rb +4 -0
- data/lib/sass/script/tree/node.rb +6 -0
- data/lib/sass/script/value/color.rb +17 -1
- data/lib/sass/script/value/helpers.rb +10 -0
- data/lib/sass/tree/visitors/perform.rb +1 -0
- data/lib/sass/tree/visitors/to_css.rb +11 -7
- data/test/sass/conversion_test.rb +10 -0
- data/test/sass/engine_test.rb +50 -0
- data/test/sass/script_test.rb +34 -0
- data/test/sass/source_map_test.rb +11 -0
- metadata +85 -85
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a2ccebe7fb753327da211ef330b7544a13a46a9
|
4
|
+
data.tar.gz: 6eba53fa8eb3e220d5186cce58ac9a1bdf5bfab3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 977690d0a4056b464ced8677e2ae5d6e55b8c806fb5428371a92f6ad5bd20ba331124aed8eb49a87b0f4d41cdf0993b1eb24a8b24062b7f5384d45e2725fa4b6
|
7
|
+
data.tar.gz: 8ae528e829b69e0b2f6e361767e4dd8c0e4c7c788d735d69982664186d217055cd12386362563dda41db89cf5fecbcd2be5a467a1e90871c8d9e6f8332ce294b
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.4.
|
1
|
+
3.4.17
|
data/VERSION_DATE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
22 August 2015 00:33:15 UTC
|
@@ -630,6 +630,9 @@ module Sass::Script
|
|
630
630
|
# @return [Sass::Script::Value::Color]
|
631
631
|
# @raise [ArgumentError] if any parameter is the wrong type or out of bounds
|
632
632
|
def rgb(red, green, blue)
|
633
|
+
if calc?(red) || calc?(green) || calc?(blue)
|
634
|
+
return unquoted_string("rgb(#{red}, #{green}, #{blue})")
|
635
|
+
end
|
633
636
|
assert_type red, :Number, :red
|
634
637
|
assert_type green, :Number, :green
|
635
638
|
assert_type blue, :Number, :blue
|
@@ -688,13 +691,20 @@ module Sass::Script
|
|
688
691
|
color, alpha = args
|
689
692
|
|
690
693
|
assert_type color, :Color, :color
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
694
|
+
if calc?(alpha)
|
695
|
+
unquoted_string("rgba(#{color.red}, #{color.green}, #{color.blue}, #{alpha})")
|
696
|
+
else
|
697
|
+
assert_type alpha, :Number, :alpha
|
698
|
+
check_alpha_unit alpha, 'rgba'
|
699
|
+
color.with(:alpha => alpha.value)
|
700
|
+
end
|
695
701
|
when 4
|
696
702
|
red, green, blue, alpha = args
|
697
|
-
|
703
|
+
if calc?(red) || calc?(green) || calc?(blue) || calc?(alpha)
|
704
|
+
unquoted_string("rgba(#{red}, #{green}, #{blue}, #{alpha})")
|
705
|
+
else
|
706
|
+
rgba(rgb(red, green, blue), alpha)
|
707
|
+
end
|
698
708
|
else
|
699
709
|
raise ArgumentError.new("wrong number of arguments (#{args.size} for 4)")
|
700
710
|
end
|
@@ -719,7 +729,11 @@ module Sass::Script
|
|
719
729
|
# @raise [ArgumentError] if `$saturation` or `$lightness` are out of bounds
|
720
730
|
# or any parameter is the wrong type
|
721
731
|
def hsl(hue, saturation, lightness)
|
722
|
-
|
732
|
+
if calc?(hue) || calc?(saturation) || calc?(lightness)
|
733
|
+
unquoted_string("hsl(#{hue}, #{saturation}, #{lightness})")
|
734
|
+
else
|
735
|
+
hsla(hue, saturation, lightness, number(1))
|
736
|
+
end
|
723
737
|
end
|
724
738
|
declare :hsl, [:hue, :saturation, :lightness]
|
725
739
|
|
@@ -743,6 +757,9 @@ module Sass::Script
|
|
743
757
|
# @raise [ArgumentError] if `$saturation`, `$lightness`, or `$alpha` are out
|
744
758
|
# of bounds or any parameter is the wrong type
|
745
759
|
def hsla(hue, saturation, lightness, alpha)
|
760
|
+
if calc?(hue) || calc?(saturation) || calc?(lightness) || calc?(alpha)
|
761
|
+
return unquoted_string("hsla(#{hue}, #{saturation}, #{lightness}, #{alpha})")
|
762
|
+
end
|
746
763
|
assert_type hue, :Number, :hue
|
747
764
|
assert_type saturation, :Number, :saturation
|
748
765
|
assert_type lightness, :Number, :lightness
|
data/lib/sass/script/parser.rb
CHANGED
@@ -308,6 +308,7 @@ RUBY
|
|
308
308
|
end
|
309
309
|
return list unless (e = interpolation)
|
310
310
|
list.elements << e
|
311
|
+
list.source_range.end_pos = list.elements.last.source_range.end_pos
|
311
312
|
end
|
312
313
|
list
|
313
314
|
end
|
@@ -507,15 +508,12 @@ RUBY
|
|
507
508
|
|
508
509
|
def paren
|
509
510
|
return variable unless try_tok(:lparen)
|
510
|
-
was_in_parens = @in_parens
|
511
|
-
@in_parens = true
|
512
511
|
start_pos = source_position
|
513
512
|
e = map
|
513
|
+
e.force_division! if e
|
514
514
|
end_pos = source_position
|
515
515
|
assert_tok(:rparen)
|
516
|
-
|
517
|
-
ensure
|
518
|
-
@in_parens = was_in_parens
|
516
|
+
e || node(Sass::Script::Tree::ListLiteral.new([], nil), start_pos, end_pos)
|
519
517
|
end
|
520
518
|
|
521
519
|
def variable
|
@@ -540,7 +538,7 @@ RUBY
|
|
540
538
|
tok = try_tok(:number)
|
541
539
|
return selector unless tok
|
542
540
|
num = tok.value
|
543
|
-
num.original = num.to_s
|
541
|
+
num.original = num.to_s
|
544
542
|
literal_node(num, tok.source_range.start_pos)
|
545
543
|
end
|
546
544
|
|
@@ -28,12 +28,8 @@ module Sass::Script::Tree
|
|
28
28
|
# @see Value#to_sass
|
29
29
|
def to_sass(opts = {})
|
30
30
|
return "()" if elements.empty?
|
31
|
-
precedence = Sass::Script::Parser.precedence_of(separator)
|
32
31
|
members = elements.map do |v|
|
33
|
-
if
|
34
|
-
separator == :space && v.is_a?(UnaryOperation) &&
|
35
|
-
(v.operator == :minus || v.operator == :plus) ||
|
36
|
-
separator == :space && v.is_a?(Operation)
|
32
|
+
if element_needs_parens?(v)
|
37
33
|
"(#{v.to_sass(opts)})"
|
38
34
|
else
|
39
35
|
v.to_sass(opts)
|
@@ -56,6 +52,10 @@ module Sass::Script::Tree
|
|
56
52
|
"(#{elements.map {|e| e.inspect}.join(separator == :space ? ' ' : ', ')})"
|
57
53
|
end
|
58
54
|
|
55
|
+
def force_division!
|
56
|
+
# Do nothing. Lists prevent division propagation.
|
57
|
+
end
|
58
|
+
|
59
59
|
protected
|
60
60
|
|
61
61
|
def _perform(environment)
|
@@ -69,6 +69,32 @@ module Sass::Script::Tree
|
|
69
69
|
|
70
70
|
private
|
71
71
|
|
72
|
+
# Returns whether an element in the list should be wrapped in parentheses
|
73
|
+
# when serialized to Sass.
|
74
|
+
def element_needs_parens?(element)
|
75
|
+
if element.is_a?(ListLiteral)
|
76
|
+
return Sass::Script::Parser.precedence_of(element.separator) <=
|
77
|
+
Sass::Script::Parser.precedence_of(separator)
|
78
|
+
end
|
79
|
+
|
80
|
+
return false unless separator == :space
|
81
|
+
|
82
|
+
if element.is_a?(UnaryOperation)
|
83
|
+
return element.operator == :minus || element.operator == :plus
|
84
|
+
end
|
85
|
+
|
86
|
+
return false unless element.is_a?(Operation)
|
87
|
+
return true unless element.operator == :div
|
88
|
+
!(is_literal_number?(element.operand1) && is_literal_number?(element.operand2))
|
89
|
+
end
|
90
|
+
|
91
|
+
# Returns whether a value is a number literal that shouldn't be divided.
|
92
|
+
def is_literal_number?(value)
|
93
|
+
value.is_a?(Literal) &&
|
94
|
+
value.value.is_a?((Sass::Script::Value::Number)) &&
|
95
|
+
!value.value.original.nil?
|
96
|
+
end
|
97
|
+
|
72
98
|
def sep_str(opts = options)
|
73
99
|
return ' ' if separator == :space
|
74
100
|
return ',' if opts && opts[:style] == :compressed
|
@@ -75,6 +75,12 @@ module Sass::Script::Tree
|
|
75
75
|
Sass::Util.abstract(self)
|
76
76
|
end
|
77
77
|
|
78
|
+
# Forces any division operations with number literals in this expression to
|
79
|
+
# do real division, rather than returning strings.
|
80
|
+
def force_division!
|
81
|
+
children.each {|c| c.force_division!}
|
82
|
+
end
|
83
|
+
|
78
84
|
protected
|
79
85
|
|
80
86
|
# Converts underscores to dashes if the :dasherize option is set.
|
@@ -598,11 +598,27 @@ module Sass::Script::Value
|
|
598
598
|
"##{red}#{green}#{blue}"
|
599
599
|
end
|
600
600
|
|
601
|
+
def operation_name(operation)
|
602
|
+
case operation
|
603
|
+
when :+
|
604
|
+
"add"
|
605
|
+
when :-
|
606
|
+
"subtract"
|
607
|
+
when :*
|
608
|
+
"multiply"
|
609
|
+
when :/
|
610
|
+
"divide"
|
611
|
+
when :%
|
612
|
+
"modulo"
|
613
|
+
end
|
614
|
+
end
|
615
|
+
|
601
616
|
def piecewise(other, operation)
|
602
617
|
other_num = other.is_a? Number
|
603
618
|
if other_num && !other.unitless?
|
604
619
|
raise Sass::SyntaxError.new(
|
605
|
-
"Cannot
|
620
|
+
"Cannot #{operation_name(operation)} a number with units (#{other}) to a color (#{self})."
|
621
|
+
)
|
606
622
|
end
|
607
623
|
|
608
624
|
result = []
|
@@ -194,6 +194,16 @@ module Sass::Script::Value
|
|
194
194
|
raise ArgumentError.new(err)
|
195
195
|
end
|
196
196
|
|
197
|
+
# Returns true when the literal is a string containing a calc()
|
198
|
+
#
|
199
|
+
# @param literal [Sass::Script::Value::Base] The value to check
|
200
|
+
# @return boolean
|
201
|
+
def calc?(literal)
|
202
|
+
if literal.is_a?(Sass::Script::Value::String)
|
203
|
+
literal.value =~ /calc\(/
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
197
207
|
private
|
198
208
|
|
199
209
|
# Converts a user-provided selector into string form or throws an
|
@@ -310,6 +310,7 @@ WARNING
|
|
310
310
|
def visit_import(node)
|
311
311
|
if (path = node.css_import?)
|
312
312
|
resolved_node = Sass::Tree::CssImportNode.resolved("url(#{path})")
|
313
|
+
resolved_node.options = node.options
|
313
314
|
resolved_node.source_range = node.source_range
|
314
315
|
return resolved_node
|
315
316
|
end
|
@@ -171,7 +171,11 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
171
171
|
if !node.has_children || node.children.empty?
|
172
172
|
output(tab_str)
|
173
173
|
for_node(node) {output(node.resolved_value)}
|
174
|
-
|
174
|
+
if node.style == :compressed
|
175
|
+
output("{}") if node.has_children
|
176
|
+
else
|
177
|
+
output(node.has_children ? " {}" : ";")
|
178
|
+
end
|
175
179
|
return
|
176
180
|
end
|
177
181
|
|
@@ -181,18 +185,18 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
181
185
|
output(node.style == :compressed ? "{" : " {")
|
182
186
|
output(node.style == :compact ? ' ' : "\n") if node.style != :compressed
|
183
187
|
|
184
|
-
|
188
|
+
had_children = true
|
185
189
|
first = true
|
186
190
|
node.children.each do |child|
|
187
191
|
next if child.invisible?
|
188
192
|
if node.style == :compact
|
189
193
|
if child.is_a?(Sass::Tree::PropNode)
|
190
|
-
with_tabs(first ||
|
194
|
+
with_tabs(first || !had_children ? 0 : @tabs + 1) do
|
191
195
|
visit(child)
|
192
196
|
output(' ')
|
193
197
|
end
|
194
198
|
else
|
195
|
-
|
199
|
+
unless had_children
|
196
200
|
erase! 1
|
197
201
|
output "\n"
|
198
202
|
end
|
@@ -206,12 +210,12 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
206
210
|
rstrip!
|
207
211
|
output "\n"
|
208
212
|
end
|
209
|
-
|
213
|
+
had_children = child.has_children
|
210
214
|
first = false
|
211
215
|
elsif node.style == :compressed
|
212
|
-
output(
|
216
|
+
output(had_children ? "" : ";")
|
213
217
|
with_tabs(0) {visit(child)}
|
214
|
-
|
218
|
+
had_children = child.has_children
|
215
219
|
else
|
216
220
|
with_tabs(@tabs + 1) {visit(child)}
|
217
221
|
output "\n"
|
@@ -1296,6 +1296,16 @@ SASS
|
|
1296
1296
|
foo {
|
1297
1297
|
a: 1px / 2px;
|
1298
1298
|
}
|
1299
|
+
SCSS
|
1300
|
+
|
1301
|
+
# Regression test for issue 1787
|
1302
|
+
assert_renders <<SASS, <<SCSS
|
1303
|
+
foo
|
1304
|
+
a: 1px / 2px 3px
|
1305
|
+
SASS
|
1306
|
+
foo {
|
1307
|
+
a: 1px / 2px 3px;
|
1308
|
+
}
|
1299
1309
|
SCSS
|
1300
1310
|
end
|
1301
1311
|
|
data/test/sass/engine_test.rb
CHANGED
@@ -178,6 +178,8 @@ MSG
|
|
178
178
|
"& foo\n bar: baz\n blat: bang" => ["Base-level rules cannot contain the parent-selector-referencing character '&'.", 1],
|
179
179
|
"a\n b: c\n& foo\n bar: baz\n blat: bang" => ["Base-level rules cannot contain the parent-selector-referencing character '&'.", 3],
|
180
180
|
"@" => "Invalid directive: '@'.",
|
181
|
+
"$r: 20em * #ccc" => ["Cannot multiply a number with units (20em) to a color (#ccc).", 1],
|
182
|
+
"$r: #ccc / 1em" => ["Cannot divide a number with units (1em) to a color (#ccc).", 1],
|
181
183
|
}
|
182
184
|
|
183
185
|
def teardown
|
@@ -3263,6 +3265,54 @@ CSS
|
|
3263
3265
|
SASS
|
3264
3266
|
end
|
3265
3267
|
|
3268
|
+
def test_compressed_unknown_directive
|
3269
|
+
assert_equal(<<CSS, render(<<SASS, :style => :compressed))
|
3270
|
+
x{@foo;a:b;@bar}
|
3271
|
+
CSS
|
3272
|
+
x
|
3273
|
+
@foo
|
3274
|
+
a: b
|
3275
|
+
@bar
|
3276
|
+
SASS
|
3277
|
+
end
|
3278
|
+
|
3279
|
+
def test_compressed_unknown_directive_in_directive
|
3280
|
+
assert_equal(<<CSS, render(<<SASS, :style => :compressed))
|
3281
|
+
@x{@foo;a:b;@bar}
|
3282
|
+
CSS
|
3283
|
+
@x
|
3284
|
+
@foo
|
3285
|
+
a: b
|
3286
|
+
@bar
|
3287
|
+
SASS
|
3288
|
+
end
|
3289
|
+
|
3290
|
+
def test_compressed_unknown_directive_with_children_in_directive
|
3291
|
+
assert_equal(<<CSS, render(<<SASS, :style => :compressed))
|
3292
|
+
@x{@foo{a:b}c:d;@bar{e:f}}
|
3293
|
+
CSS
|
3294
|
+
@x
|
3295
|
+
@foo
|
3296
|
+
a: b
|
3297
|
+
c: d
|
3298
|
+
@bar
|
3299
|
+
e: f
|
3300
|
+
SASS
|
3301
|
+
end
|
3302
|
+
|
3303
|
+
def test_compressed_rule_in_directive
|
3304
|
+
assert_equal(<<CSS, render(<<SASS, :style => :compressed))
|
3305
|
+
@x{foo{a:b}c:d;bar{e:f}}
|
3306
|
+
CSS
|
3307
|
+
@x
|
3308
|
+
foo
|
3309
|
+
a: b
|
3310
|
+
c: d
|
3311
|
+
bar
|
3312
|
+
e: f
|
3313
|
+
SASS
|
3314
|
+
end
|
3315
|
+
|
3266
3316
|
private
|
3267
3317
|
|
3268
3318
|
def assert_hash_has(hash, expected)
|
data/test/sass/script_test.rb
CHANGED
@@ -118,6 +118,33 @@ class SassScriptTest < MiniTest::Test
|
|
118
118
|
assert_equal "rgba(10, 1, 0, 0.12346)", resolve("rgba(10.0, 1.23456789, 0.0, 0.1234567)")
|
119
119
|
end
|
120
120
|
|
121
|
+
def test_rgb_calc
|
122
|
+
assert_equal "rgb(calc(255 - 5), 0, 0)", resolve("rgb(calc(255 - 5), 0, 0)")
|
123
|
+
end
|
124
|
+
|
125
|
+
def test_rgba_calc
|
126
|
+
assert_equal "rgba(calc(255 - 5), 0, 0, 0.1)",
|
127
|
+
resolve("rgba(calc(255 - 5), 0, 0, 0.1)")
|
128
|
+
assert_equal "rgba(127, 0, 0, calc(0.1 + 0.5))",
|
129
|
+
resolve("rgba(127, 0, 0, calc(0.1 + 0.5))")
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_rgba_shorthand_calc
|
133
|
+
assert_equal "rgba(255, 0, 0, calc(0.1 + 0.5))",
|
134
|
+
resolve("rgba(red, calc(0.1 + 0.5))")
|
135
|
+
end
|
136
|
+
|
137
|
+
def test_hsl_calc
|
138
|
+
assert_equal "hsl(calc(360 * 5 / 6), 50%, 50%)", resolve("hsl(calc(360 * 5 / 6), 50%, 50%)")
|
139
|
+
end
|
140
|
+
|
141
|
+
def test_hsla_calc
|
142
|
+
assert_equal "hsla(calc(360 * 5 / 6), 50%, 50%, 0.1)",
|
143
|
+
resolve("hsla(calc(360 * 5 / 6), 50%, 50%, 0.1)")
|
144
|
+
assert_equal "hsla(270, 50%, 50%, calc(0.1 + 0.1))",
|
145
|
+
resolve("hsla(270, 50%, 50%, calc(0.1 + 0.1))")
|
146
|
+
end
|
147
|
+
|
121
148
|
def test_compressed_colors
|
122
149
|
assert_equal "#123456", resolve("#123456", :style => :compressed)
|
123
150
|
assert_equal "rgba(1,2,3,0.5)", resolve("rgba(1, 2, 3, 0.5)", :style => :compressed)
|
@@ -547,6 +574,13 @@ WARNING
|
|
547
574
|
assert_equal "0.5", resolve("$var", {}, env("var" => eval("1px/2px")))
|
548
575
|
end
|
549
576
|
|
577
|
+
# Regression test for issue 1786.
|
578
|
+
def test_slash_division_within_list
|
579
|
+
assert_equal "1 1/2 1/2", resolve("(1 1/2 1/2)")
|
580
|
+
assert_equal "1/2 1/2", resolve("(1/2 1/2)")
|
581
|
+
assert_equal "1/2", resolve("(1/2,)")
|
582
|
+
end
|
583
|
+
|
550
584
|
def test_non_ident_colors_with_wrong_number_of_digits
|
551
585
|
assert_raise_message(Sass::SyntaxError,
|
552
586
|
'Invalid CSS after "": expected expression (e.g. 1px, bold), was "#1"') {eval("#1")}
|
@@ -809,6 +809,17 @@ SCSS
|
|
809
809
|
assert_equal 17, range.end_pos.offset
|
810
810
|
end
|
811
811
|
|
812
|
+
def test_list_source_range
|
813
|
+
engine = Sass::Engine.new(<<-SCSS, :cache => false, :syntax => :scss)
|
814
|
+
@each $a, $b in (1, 2), (2, 4), (3, 6) { }
|
815
|
+
SCSS
|
816
|
+
list = engine.to_tree.children.first.list
|
817
|
+
assert_equal 1, list.source_range.start_pos.line
|
818
|
+
assert_equal 1, list.source_range.end_pos.line
|
819
|
+
assert_equal 16, list.source_range.start_pos.offset
|
820
|
+
assert_equal 38, list.source_range.end_pos.offset
|
821
|
+
end
|
822
|
+
|
812
823
|
def test_sources_array_is_uri_escaped
|
813
824
|
map = Sass::Source::Map.new
|
814
825
|
importer = Sass::Importers::Filesystem.new('.')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sass
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Natalie Weizenbaum
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-08-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: yard
|
@@ -67,47 +67,31 @@ executables:
|
|
67
67
|
extensions: []
|
68
68
|
extra_rdoc_files: []
|
69
69
|
files:
|
70
|
-
- .
|
71
|
-
- CODE_OF_CONDUCT.md
|
72
|
-
- CONTRIBUTING.md
|
73
|
-
- MIT-LICENSE
|
74
|
-
- README.md
|
75
|
-
- REVISION
|
76
|
-
- Rakefile
|
77
|
-
- VERSION
|
78
|
-
- VERSION_DATE
|
79
|
-
- VERSION_NAME
|
80
|
-
- bin/sass
|
81
|
-
- bin/sass-convert
|
82
|
-
- bin/scss
|
83
|
-
- extra/update_watch.rb
|
84
|
-
- init.rb
|
85
|
-
- lib/sass.rb
|
86
|
-
- lib/sass/cache_stores.rb
|
70
|
+
- rails/init.rb
|
87
71
|
- lib/sass/cache_stores/base.rb
|
88
72
|
- lib/sass/cache_stores/chain.rb
|
89
73
|
- lib/sass/cache_stores/filesystem.rb
|
90
74
|
- lib/sass/cache_stores/memory.rb
|
91
75
|
- lib/sass/cache_stores/null.rb
|
76
|
+
- lib/sass/cache_stores.rb
|
92
77
|
- lib/sass/callbacks.rb
|
93
78
|
- lib/sass/css.rb
|
94
79
|
- lib/sass/engine.rb
|
95
80
|
- lib/sass/environment.rb
|
96
81
|
- lib/sass/error.rb
|
97
|
-
- lib/sass/exec.rb
|
98
82
|
- lib/sass/exec/base.rb
|
99
83
|
- lib/sass/exec/sass_convert.rb
|
100
84
|
- lib/sass/exec/sass_scss.rb
|
85
|
+
- lib/sass/exec.rb
|
101
86
|
- lib/sass/features.rb
|
102
|
-
- lib/sass/importers.rb
|
103
87
|
- lib/sass/importers/base.rb
|
104
88
|
- lib/sass/importers/deprecated_path.rb
|
105
89
|
- lib/sass/importers/filesystem.rb
|
106
|
-
- lib/sass/
|
90
|
+
- lib/sass/importers.rb
|
107
91
|
- lib/sass/logger/base.rb
|
108
92
|
- lib/sass/logger/log_level.rb
|
93
|
+
- lib/sass/logger.rb
|
109
94
|
- lib/sass/media.rb
|
110
|
-
- lib/sass/plugin.rb
|
111
95
|
- lib/sass/plugin/compiler.rb
|
112
96
|
- lib/sass/plugin/configuration.rb
|
113
97
|
- lib/sass/plugin/generic.rb
|
@@ -115,16 +99,15 @@ files:
|
|
115
99
|
- lib/sass/plugin/rack.rb
|
116
100
|
- lib/sass/plugin/rails.rb
|
117
101
|
- lib/sass/plugin/staleness_checker.rb
|
102
|
+
- lib/sass/plugin.rb
|
118
103
|
- lib/sass/railtie.rb
|
119
104
|
- lib/sass/repl.rb
|
120
105
|
- lib/sass/root.rb
|
121
|
-
- lib/sass/script.rb
|
122
106
|
- lib/sass/script/css_lexer.rb
|
123
107
|
- lib/sass/script/css_parser.rb
|
124
108
|
- lib/sass/script/functions.rb
|
125
109
|
- lib/sass/script/lexer.rb
|
126
110
|
- lib/sass/script/parser.rb
|
127
|
-
- lib/sass/script/tree.rb
|
128
111
|
- lib/sass/script/tree/funcall.rb
|
129
112
|
- lib/sass/script/tree/interpolation.rb
|
130
113
|
- lib/sass/script/tree/list_literal.rb
|
@@ -136,7 +119,7 @@ files:
|
|
136
119
|
- lib/sass/script/tree/string_interpolation.rb
|
137
120
|
- lib/sass/script/tree/unary_operation.rb
|
138
121
|
- lib/sass/script/tree/variable.rb
|
139
|
-
- lib/sass/script/
|
122
|
+
- lib/sass/script/tree.rb
|
140
123
|
- lib/sass/script/value/arg_list.rb
|
141
124
|
- lib/sass/script/value/base.rb
|
142
125
|
- lib/sass/script/value/bool.rb
|
@@ -147,20 +130,22 @@ files:
|
|
147
130
|
- lib/sass/script/value/null.rb
|
148
131
|
- lib/sass/script/value/number.rb
|
149
132
|
- lib/sass/script/value/string.rb
|
150
|
-
- lib/sass/
|
133
|
+
- lib/sass/script/value.rb
|
134
|
+
- lib/sass/script.rb
|
151
135
|
- lib/sass/scss/css_parser.rb
|
152
136
|
- lib/sass/scss/parser.rb
|
153
137
|
- lib/sass/scss/rx.rb
|
154
138
|
- lib/sass/scss/script_lexer.rb
|
155
139
|
- lib/sass/scss/script_parser.rb
|
156
140
|
- lib/sass/scss/static_parser.rb
|
157
|
-
- lib/sass/
|
141
|
+
- lib/sass/scss.rb
|
158
142
|
- lib/sass/selector/abstract_sequence.rb
|
159
143
|
- lib/sass/selector/comma_sequence.rb
|
160
144
|
- lib/sass/selector/pseudo.rb
|
161
145
|
- lib/sass/selector/sequence.rb
|
162
146
|
- lib/sass/selector/simple.rb
|
163
147
|
- lib/sass/selector/simple_sequence.rb
|
148
|
+
- lib/sass/selector.rb
|
164
149
|
- lib/sass/shared.rb
|
165
150
|
- lib/sass/source/map.rb
|
166
151
|
- lib/sass/source/position.rb
|
@@ -204,15 +189,54 @@ files:
|
|
204
189
|
- lib/sass/tree/visitors/to_css.rb
|
205
190
|
- lib/sass/tree/warn_node.rb
|
206
191
|
- lib/sass/tree/while_node.rb
|
207
|
-
- lib/sass/util.rb
|
208
192
|
- lib/sass/util/cross_platform_random.rb
|
209
193
|
- lib/sass/util/multibyte_string_scanner.rb
|
210
194
|
- lib/sass/util/normalized_map.rb
|
211
195
|
- lib/sass/util/ordered_hash.rb
|
212
196
|
- lib/sass/util/subset_map.rb
|
213
197
|
- lib/sass/util/test.rb
|
198
|
+
- lib/sass/util.rb
|
214
199
|
- lib/sass/version.rb
|
215
|
-
-
|
200
|
+
- lib/sass.rb
|
201
|
+
- vendor/listen/CHANGELOG.md
|
202
|
+
- vendor/listen/CONTRIBUTING.md
|
203
|
+
- vendor/listen/Gemfile
|
204
|
+
- vendor/listen/Guardfile
|
205
|
+
- vendor/listen/lib/listen/adapter.rb
|
206
|
+
- vendor/listen/lib/listen/adapters/bsd.rb
|
207
|
+
- vendor/listen/lib/listen/adapters/darwin.rb
|
208
|
+
- vendor/listen/lib/listen/adapters/linux.rb
|
209
|
+
- vendor/listen/lib/listen/adapters/polling.rb
|
210
|
+
- vendor/listen/lib/listen/adapters/windows.rb
|
211
|
+
- vendor/listen/lib/listen/directory_record.rb
|
212
|
+
- vendor/listen/lib/listen/listener.rb
|
213
|
+
- vendor/listen/lib/listen/turnstile.rb
|
214
|
+
- vendor/listen/lib/listen/version.rb
|
215
|
+
- vendor/listen/lib/listen.rb
|
216
|
+
- vendor/listen/LICENSE
|
217
|
+
- vendor/listen/listen.gemspec
|
218
|
+
- vendor/listen/Rakefile
|
219
|
+
- vendor/listen/README.md
|
220
|
+
- vendor/listen/spec/listen/adapter_spec.rb
|
221
|
+
- vendor/listen/spec/listen/adapters/bsd_spec.rb
|
222
|
+
- vendor/listen/spec/listen/adapters/darwin_spec.rb
|
223
|
+
- vendor/listen/spec/listen/adapters/linux_spec.rb
|
224
|
+
- vendor/listen/spec/listen/adapters/polling_spec.rb
|
225
|
+
- vendor/listen/spec/listen/adapters/windows_spec.rb
|
226
|
+
- vendor/listen/spec/listen/directory_record_spec.rb
|
227
|
+
- vendor/listen/spec/listen/listener_spec.rb
|
228
|
+
- vendor/listen/spec/listen/turnstile_spec.rb
|
229
|
+
- vendor/listen/spec/listen_spec.rb
|
230
|
+
- vendor/listen/spec/spec_helper.rb
|
231
|
+
- vendor/listen/spec/support/adapter_helper.rb
|
232
|
+
- vendor/listen/spec/support/directory_record_helper.rb
|
233
|
+
- vendor/listen/spec/support/fixtures_helper.rb
|
234
|
+
- vendor/listen/spec/support/listeners_helper.rb
|
235
|
+
- vendor/listen/spec/support/platform_helper.rb
|
236
|
+
- vendor/listen/Vagrantfile
|
237
|
+
- bin/sass
|
238
|
+
- bin/sass-convert
|
239
|
+
- bin/scss
|
216
240
|
- test/sass/cache_test.rb
|
217
241
|
- test/sass/callbacks_test.rb
|
218
242
|
- test/sass/compiler_test.rb
|
@@ -337,42 +361,18 @@ files:
|
|
337
361
|
- test/sass/util_test.rb
|
338
362
|
- test/sass/value_helpers_test.rb
|
339
363
|
- test/test_helper.rb
|
340
|
-
-
|
341
|
-
-
|
342
|
-
-
|
343
|
-
-
|
344
|
-
-
|
345
|
-
-
|
346
|
-
-
|
347
|
-
-
|
348
|
-
-
|
349
|
-
-
|
350
|
-
-
|
351
|
-
-
|
352
|
-
- vendor/listen/lib/listen/adapters/linux.rb
|
353
|
-
- vendor/listen/lib/listen/adapters/polling.rb
|
354
|
-
- vendor/listen/lib/listen/adapters/windows.rb
|
355
|
-
- vendor/listen/lib/listen/directory_record.rb
|
356
|
-
- vendor/listen/lib/listen/listener.rb
|
357
|
-
- vendor/listen/lib/listen/turnstile.rb
|
358
|
-
- vendor/listen/lib/listen/version.rb
|
359
|
-
- vendor/listen/listen.gemspec
|
360
|
-
- vendor/listen/spec/listen/adapter_spec.rb
|
361
|
-
- vendor/listen/spec/listen/adapters/bsd_spec.rb
|
362
|
-
- vendor/listen/spec/listen/adapters/darwin_spec.rb
|
363
|
-
- vendor/listen/spec/listen/adapters/linux_spec.rb
|
364
|
-
- vendor/listen/spec/listen/adapters/polling_spec.rb
|
365
|
-
- vendor/listen/spec/listen/adapters/windows_spec.rb
|
366
|
-
- vendor/listen/spec/listen/directory_record_spec.rb
|
367
|
-
- vendor/listen/spec/listen/listener_spec.rb
|
368
|
-
- vendor/listen/spec/listen/turnstile_spec.rb
|
369
|
-
- vendor/listen/spec/listen_spec.rb
|
370
|
-
- vendor/listen/spec/spec_helper.rb
|
371
|
-
- vendor/listen/spec/support/adapter_helper.rb
|
372
|
-
- vendor/listen/spec/support/directory_record_helper.rb
|
373
|
-
- vendor/listen/spec/support/fixtures_helper.rb
|
374
|
-
- vendor/listen/spec/support/listeners_helper.rb
|
375
|
-
- vendor/listen/spec/support/platform_helper.rb
|
364
|
+
- extra/update_watch.rb
|
365
|
+
- Rakefile
|
366
|
+
- init.rb
|
367
|
+
- .yardopts
|
368
|
+
- CODE_OF_CONDUCT.md
|
369
|
+
- CONTRIBUTING.md
|
370
|
+
- MIT-LICENSE
|
371
|
+
- README.md
|
372
|
+
- REVISION
|
373
|
+
- VERSION
|
374
|
+
- VERSION_DATE
|
375
|
+
- VERSION_NAME
|
376
376
|
homepage: http://sass-lang.com/
|
377
377
|
licenses:
|
378
378
|
- MIT
|
@@ -393,33 +393,33 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
393
393
|
version: '0'
|
394
394
|
requirements: []
|
395
395
|
rubyforge_project: sass
|
396
|
-
rubygems_version: 2.
|
396
|
+
rubygems_version: 2.0.3
|
397
397
|
signing_key:
|
398
398
|
specification_version: 4
|
399
399
|
summary: A powerful but elegant CSS compiler that makes CSS fun again.
|
400
400
|
test_files:
|
401
|
-
- test/sass/value_helpers_test.rb
|
402
|
-
- test/sass/conversion_test.rb
|
403
401
|
- test/sass/cache_test.rb
|
404
|
-
- test/sass/script_test.rb
|
405
|
-
- test/sass/superselector_test.rb
|
406
402
|
- test/sass/callbacks_test.rb
|
407
|
-
- test/sass/
|
408
|
-
- test/sass/
|
409
|
-
- test/sass/
|
410
|
-
- test/sass/plugin_test.rb
|
411
|
-
- test/sass/extend_test.rb
|
412
|
-
- test/sass/scss/rx_test.rb
|
413
|
-
- test/sass/scss/css_test.rb
|
414
|
-
- test/sass/scss/scss_test.rb
|
415
|
-
- test/sass/logger_test.rb
|
416
|
-
- test/sass/importer_test.rb
|
403
|
+
- test/sass/compiler_test.rb
|
404
|
+
- test/sass/conversion_test.rb
|
405
|
+
- test/sass/css2sass_test.rb
|
417
406
|
- test/sass/encoding_test.rb
|
418
407
|
- test/sass/engine_test.rb
|
419
408
|
- test/sass/exec_test.rb
|
409
|
+
- test/sass/extend_test.rb
|
410
|
+
- test/sass/functions_test.rb
|
411
|
+
- test/sass/importer_test.rb
|
412
|
+
- test/sass/logger_test.rb
|
413
|
+
- test/sass/plugin_test.rb
|
414
|
+
- test/sass/script_conversion_test.rb
|
415
|
+
- test/sass/script_test.rb
|
416
|
+
- test/sass/scss/css_test.rb
|
417
|
+
- test/sass/scss/rx_test.rb
|
418
|
+
- test/sass/scss/scss_test.rb
|
419
|
+
- test/sass/source_map_test.rb
|
420
|
+
- test/sass/superselector_test.rb
|
421
|
+
- test/sass/util/multibyte_string_scanner_test.rb
|
420
422
|
- test/sass/util/normalized_map_test.rb
|
421
423
|
- test/sass/util/subset_map_test.rb
|
422
|
-
- test/sass/
|
423
|
-
- test/sass/
|
424
|
-
- test/sass/compiler_test.rb
|
425
|
-
- test/sass/css2sass_test.rb
|
424
|
+
- test/sass/util_test.rb
|
425
|
+
- test/sass/value_helpers_test.rb
|