sass 3.4.16 → 3.4.17
Sign up to get free protection for your applications and to get access to all the features.
- 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
|