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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0dff26b06c7065753c46919a6edcabb5eba41d14
4
- data.tar.gz: 55acb3b26ba3d248bdf3e2e3e1c8263e41405faa
3
+ metadata.gz: 0a2ccebe7fb753327da211ef330b7544a13a46a9
4
+ data.tar.gz: 6eba53fa8eb3e220d5186cce58ac9a1bdf5bfab3
5
5
  SHA512:
6
- metadata.gz: 8d763cdfcb6c8b78626b39101f0d92cc48f2c038307f96de6929fcd5b51a3e7ec03f889e55b0dbb4cbfdfcd8848469476ad6950e9c41b40efd7f3bdefe36a31b
7
- data.tar.gz: a5e4c150a05613f1a40fc3b7f380e62aa4e693aadf674b6361fad3205b126ce39bd9912ac21965e70997ffe0f52c29c0261bece728e6d374ce8ad735f1b93205
6
+ metadata.gz: 977690d0a4056b464ced8677e2ae5d6e55b8c806fb5428371a92f6ad5bd20ba331124aed8eb49a87b0f4d41cdf0993b1eb24a8b24062b7f5384d45e2725fa4b6
7
+ data.tar.gz: 8ae528e829b69e0b2f6e361767e4dd8c0e4c7c788d735d69982664186d217055cd12386362563dda41db89cf5fecbcd2be5a467a1e90871c8d9e6f8332ce294b
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.4.16
1
+ 3.4.17
@@ -1 +1 @@
1
- 10 July 2015 23:22:27 UTC
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
- assert_type alpha, :Number, :alpha
692
- check_alpha_unit alpha, 'rgba'
693
-
694
- color.with(:alpha => alpha.value)
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
- rgba(rgb(red, green, blue), alpha)
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
- hsla(hue, saturation, lightness, number(1))
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
@@ -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
- return e || node(Sass::Script::Tree::ListLiteral.new([], nil), start_pos, end_pos)
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 unless @in_parens
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 v.is_a?(ListLiteral) && Sass::Script::Parser.precedence_of(v.separator) <= precedence ||
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
@@ -35,6 +35,10 @@ module Sass::Script::Tree
35
35
  value.inspect
36
36
  end
37
37
 
38
+ def force_division!
39
+ value.original = nil if value.is_a?(Sass::Script::Value::Number)
40
+ end
41
+
38
42
  protected
39
43
 
40
44
  def _perform(environment)
@@ -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 add a number with units (#{other}) to a color (#{self}).")
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
- output(!node.has_children ? ";" : " {}")
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
- was_prop = false
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 || was_prop ? 0 : @tabs + 1) do
194
+ with_tabs(first || !had_children ? 0 : @tabs + 1) do
191
195
  visit(child)
192
196
  output(' ')
193
197
  end
194
198
  else
195
- if was_prop
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
- was_prop = child.is_a?(Sass::Tree::PropNode)
213
+ had_children = child.has_children
210
214
  first = false
211
215
  elsif node.style == :compressed
212
- output(was_prop ? ";" : "")
216
+ output(had_children ? "" : ";")
213
217
  with_tabs(0) {visit(child)}
214
- was_prop = child.is_a?(Sass::Tree::PropNode)
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
 
@@ -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)
@@ -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.16
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-07-10 00:00:00.000000000 Z
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
- - .yardopts
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/logger.rb
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/value.rb
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/scss.rb
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/selector.rb
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
- - rails/init.rb
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
- - vendor/listen/CHANGELOG.md
341
- - vendor/listen/CONTRIBUTING.md
342
- - vendor/listen/Gemfile
343
- - vendor/listen/Guardfile
344
- - vendor/listen/LICENSE
345
- - vendor/listen/README.md
346
- - vendor/listen/Rakefile
347
- - vendor/listen/Vagrantfile
348
- - vendor/listen/lib/listen.rb
349
- - vendor/listen/lib/listen/adapter.rb
350
- - vendor/listen/lib/listen/adapters/bsd.rb
351
- - vendor/listen/lib/listen/adapters/darwin.rb
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.2.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/source_map_test.rb
408
- - test/sass/script_conversion_test.rb
409
- - test/sass/util_test.rb
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/util/multibyte_string_scanner_test.rb
423
- - test/sass/functions_test.rb
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