sass 3.2.7 → 3.2.8

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/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.7
1
+ 3.2.8
@@ -1 +1 @@
1
- 09 March 2013 01:30:08 UTC
1
+ 22 April 2013 19:59:23 UTC
@@ -51,6 +51,7 @@ module Sass
51
51
  _store(key, Sass::VERSION, sha, Marshal.dump(root))
52
52
  rescue TypeError, LoadError => e
53
53
  Sass::Util.sass_warn "Warning. Error encountered while saving cache #{path_to(key)}: #{e}"
54
+ nil
54
55
  end
55
56
 
56
57
  # Retrieve a {Sass::Tree::RootNode}.
@@ -63,6 +64,7 @@ module Sass
63
64
  Marshal.load(contents) if contents
64
65
  rescue EOFError, TypeError, ArgumentError, LoadError => e
65
66
  Sass::Util.sass_warn "Warning. Error encountered while reading cache #{path_to(key)}: #{e}"
67
+ nil
66
68
  end
67
69
 
68
70
  # Return the key for the sass file.
@@ -108,7 +108,7 @@ module Sass
108
108
  @options[:filename] = filename
109
109
  open_file(filename) || $stdin
110
110
  end
111
- output ||= open_file(args.shift, 'w') || $stdout
111
+ output ||= args.shift || $stdout
112
112
 
113
113
  @options[:input], @options[:output] = input, output
114
114
  end
@@ -155,6 +155,14 @@ module Sass
155
155
  return "\e[#{COLORS[color]}m#{str}\e[0m"
156
156
  end
157
157
 
158
+ def write_output(text, destination)
159
+ if destination.is_a?(String)
160
+ File.open(destination, 'w') {|file| file.write(text)}
161
+ else
162
+ destination.write(text)
163
+ end
164
+ end
165
+
158
166
  private
159
167
 
160
168
  def open_file(filename, flag = 'r')
@@ -307,7 +315,7 @@ END
307
315
  return watch_or_update if @options[:watch] || @options[:update]
308
316
  super
309
317
  @options[:for_engine][:filename] = @options[:filename]
310
- @options[:for_engine][:css_filename] = @options[:output].path if @options[:output].is_a?(File)
318
+ @options[:for_engine][:css_filename] = @options[:output] if @options[:output].is_a?(String)
311
319
 
312
320
  begin
313
321
  input = @options[:input]
@@ -327,8 +335,7 @@ END
327
335
 
328
336
  input.close() if input.is_a?(File)
329
337
 
330
- output.write(engine.render)
331
- output.close() if output.is_a? File
338
+ write_output(engine.render, output)
332
339
  rescue ::Sass::SyntaxError => e
333
340
  raise e if @options[:trace]
334
341
  raise e.sass_backtrace_str("standard input")
@@ -633,7 +640,6 @@ END
633
640
  end
634
641
 
635
642
  input = open_file(f)
636
- output = @options[:in_place] ? input : open_file(output, "w")
637
643
  process_file(input, output)
638
644
  end
639
645
  end
@@ -678,7 +684,7 @@ END
678
684
  end
679
685
 
680
686
  output = File.open(input.path, 'w') if @options[:in_place]
681
- output.write(out)
687
+ write_output(out, output)
682
688
  rescue ::Sass::SyntaxError => e
683
689
  raise e if @options[:trace]
684
690
  file = " of #{e.sass_filename}" if e.sass_filename
@@ -54,12 +54,18 @@ module Sass
54
54
 
55
55
  # @see Node#to_sass
56
56
  def to_sass(opts = {})
57
- args = @args.map {|a| a.to_sass(opts)}.join(', ')
57
+ arg_to_sass = lambda do |arg|
58
+ sass = arg.to_sass(opts)
59
+ sass = "(#{sass})" if arg.is_a?(Sass::Script::List) && arg.separator == :comma
60
+ sass
61
+ end
62
+
63
+ args = @args.map(&arg_to_sass).join(', ')
58
64
  keywords = Sass::Util.hash_to_a(@keywords).
59
- map {|k, v| "$#{dasherize(k, opts)}: #{v.to_sass(opts)}"}.join(', ')
65
+ map {|k, v| "$#{dasherize(k, opts)}: #{arg_to_sass[v]}"}.join(', ')
60
66
  if self.splat
61
67
  splat = (args.empty? && keywords.empty?) ? "" : ", "
62
- splat = "#{splat}#{self.splat.inspect}..."
68
+ splat = "#{splat}#{arg_to_sass[self.splat]}..."
63
69
  end
64
70
  "#{dasherize(name, opts)}(#{args}#{', ' unless args.empty? || keywords.empty?}#{keywords}#{splat})"
65
71
  end
@@ -147,6 +147,12 @@ module Sass::Script
147
147
  # \{#append append($list1, $val, \[$separator\])}
148
148
  # : Appends a single value onto the end of a list.
149
149
  #
150
+ # \{#zip zip($list1, $list2, ...)}
151
+ # : Combines several lists into a single multidimensional list.
152
+ #
153
+ # \{#index index($list, $value)}
154
+ # : Returns the position of a value within a list, or false.
155
+ #
150
156
  # ## Introspection Functions
151
157
  #
152
158
  # \{#type_of type-of($value)}
@@ -1358,8 +1364,8 @@ module Sass::Script
1358
1364
  declare :append, [:list, :val]
1359
1365
  declare :append, [:list, :val, :separator]
1360
1366
 
1361
- # Combines several lists into a single comma separated list
1362
- # space separated lists.
1367
+ # Combines several lists into a single comma separated list, where the nth
1368
+ # value is a space separated list of the source lists' nth values.
1363
1369
  #
1364
1370
  # The length of the resulting list is the length of the
1365
1371
  # shortest list.
@@ -1384,8 +1390,8 @@ module Sass::Script
1384
1390
  declare :zip, [], :var_args => true
1385
1391
 
1386
1392
 
1387
- # Returns the position of the given value within the given
1388
- # list. If not found, returns false.
1393
+ # Returns the position of a value within a list. If not found, returns
1394
+ # false.
1389
1395
  #
1390
1396
  # @example
1391
1397
  # index(1px solid red, solid) => 2
@@ -90,24 +90,6 @@ MSG
90
90
  Sass::Script::Bool.new(!to_bool)
91
91
  end
92
92
 
93
- # The SassScript default operation (e.g. `$a $b`, `"foo" "bar"`).
94
- #
95
- # @param other [Literal] The right-hand side of the operator
96
- # @return [Script::String] A string containing both literals
97
- # separated by a space
98
- def space(other)
99
- Sass::Script::String.new("#{self.to_s} #{other.to_s}")
100
- end
101
-
102
- # The SassScript `,` operation (e.g. `$a, $b`, `"foo", "bar"`).
103
- #
104
- # @param other [Literal] The right-hand side of the operator
105
- # @return [Script::String] A string containing both literals
106
- # separated by `", "`
107
- def comma(other)
108
- Sass::Script::String.new("#{self.to_s},#{' ' unless options[:style] == :compressed}#{other.to_s}")
109
- end
110
-
111
93
  # The SassScript `=` operation
112
94
  # (used for proprietary MS syntax like `alpha(opacity=20)`).
113
95
  #
@@ -22,7 +22,10 @@ module Sass::Script
22
22
  def to_s(opts = {})
23
23
  ''
24
24
  end
25
- alias_method :to_sass, :to_s
25
+
26
+ def to_sass(opts = {})
27
+ 'null'
28
+ end
26
29
 
27
30
  # Returns a string representing a null value.
28
31
  #
@@ -242,18 +242,17 @@ RUBY
242
242
  def lexer_class; Lexer; end
243
243
 
244
244
  def expr
245
- interp = try_ops_after_interp([:comma], :expr) and return interp
246
245
  line = @lexer.line
247
246
  return unless e = interpolation
248
- arr = [e]
247
+ list = node(List.new([e], :comma), line)
249
248
  while tok = try_tok(:comma)
250
- if interp = try_op_before_interp(tok, e)
249
+ if interp = try_op_before_interp(tok, list)
251
250
  return interp unless other_interp = try_ops_after_interp([:comma], :expr, interp)
252
251
  return other_interp
253
252
  end
254
- arr << assert_expr(:interpolation)
253
+ list.value << assert_expr(:interpolation)
255
254
  end
256
- arr.size == 1 ? arr.first : node(List.new(arr, :comma), line)
255
+ list.value.size == 1 ? list.value.first : list
257
256
  end
258
257
 
259
258
  production :equals, :interpolation, :single_eq
@@ -33,7 +33,7 @@ module Sass::Script
33
33
  # @see Node#to_s
34
34
  def to_s(opts = {})
35
35
  if @type == :identifier
36
- return @value.gsub(/\s+/, " ")
36
+ return @value.gsub(/\n\s*/, " ")
37
37
  end
38
38
 
39
39
  return "\"#{value.gsub('"', "\\\"")}\"" if opts[:quote] == %q{"}
@@ -1112,7 +1112,7 @@ MESSAGE
1112
1112
  end
1113
1113
 
1114
1114
  def rethrow(err)
1115
- if @throw_err
1115
+ if @throw_error
1116
1116
  throw :_sass_parser_error, err
1117
1117
  else
1118
1118
  @scanner = Sass::Util::MultibyteStringScanner.new(@scanner.string)
@@ -444,8 +444,7 @@ module Sass
444
444
  # separate sequences should limit the quadratic behavior.
445
445
  seqses.map do |seqs1|
446
446
  seqs1.reject do |seq1|
447
- min_spec = 0
448
- _sources(seq1).map {|seq| min_spec += seq.specificity}
447
+ min_spec = _sources(seq1).map {|seq| seq.specificity}.min || 0
449
448
  seqses.any? do |seqs2|
450
449
  next if seqs1.equal?(seqs2)
451
450
  # Second Law of Extend: the specificity of a generated selector
@@ -195,13 +195,19 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
195
195
  end
196
196
 
197
197
  def visit_mixin(node)
198
+ arg_to_sass = lambda do |arg|
199
+ sass = arg.to_sass(@options)
200
+ sass = "(#{sass})" if arg.is_a?(Sass::Script::List) && arg.separator == :comma
201
+ sass
202
+ end
203
+
198
204
  unless node.args.empty? && node.keywords.empty? && node.splat.nil?
199
- args = node.args.map {|a| a.to_sass(@options)}.join(", ")
205
+ args = node.args.map(&arg_to_sass).join(", ")
200
206
  keywords = Sass::Util.hash_to_a(node.keywords).
201
- map {|k, v| "$#{dasherize(k)}: #{v.to_sass(@options)}"}.join(', ')
207
+ map {|k, v| "$#{dasherize(k)}: #{arg_to_sass[v]}"}.join(', ')
202
208
  if node.splat
203
209
  splat = (args.empty? && keywords.empty?) ? "" : ", "
204
- splat = "#{splat}#{node.splat.to_sass(@options)}..."
210
+ splat = "#{splat}#{arg_to_sass[node.splat]}..."
205
211
  end
206
212
  arglist = "(#{args}#{', ' unless args.empty? || keywords.empty?}#{keywords}#{splat})"
207
213
  end
@@ -421,7 +421,7 @@ class Sass::Tree::Visitors::Perform < Sass::Tree::Visitors::Base
421
421
  end
422
422
  end
423
423
 
424
- return if mixins.empty?
424
+ return unless mixins.include?(node.name)
425
425
  raise Sass::SyntaxError.new("#{msg} #{node.name} includes itself") if mixins.size == 1
426
426
 
427
427
  msg << "\n" << Sass::Util.enum_cons(mixins.reverse + [node.name], 2).map do |m1, m2|
@@ -1618,6 +1618,22 @@ SCSS
1618
1618
 
1619
1619
  ## Regression Tests
1620
1620
 
1621
+ def test_list_in_args
1622
+ assert_renders(<<SASS, <<SCSS)
1623
+ +mixin((a, b, c))
1624
+
1625
+ +mixin($arg: (a, b, c))
1626
+
1627
+ +mixin(a, b, (c, d, e)...)
1628
+ SASS
1629
+ @include mixin((a, b, c));
1630
+
1631
+ @include mixin($arg: (a, b, c));
1632
+
1633
+ @include mixin(a, b, (c, d, e)...);
1634
+ SCSS
1635
+ end
1636
+
1621
1637
  def test_media_query_with_expr
1622
1638
  assert_scss_to_sass <<SASS, <<SCSS
1623
1639
  @media foo and (bar: baz)
@@ -1628,14 +1644,6 @@ SASS
1628
1644
  SCSS
1629
1645
  end
1630
1646
 
1631
- def test_empty_lists
1632
- assert_renders(<<SASS, <<SCSS)
1633
- $foo: ()
1634
- SASS
1635
- $foo: ();
1636
- SCSS
1637
- end
1638
-
1639
1647
  def test_nested_if_statements
1640
1648
  assert_renders(<<SASS, <<SCSS)
1641
1649
  @if $foo
@@ -523,6 +523,21 @@ MESSAGE
523
523
  assert_hash_has(err.sass_backtrace[2], :mixin => "foo", :line => 2)
524
524
  end
525
525
 
526
+ def test_mixin_loop_with_content
527
+ render <<SASS
528
+ =foo
529
+ @content
530
+ =bar
531
+ +foo
532
+ +bar
533
+ +bar
534
+ SASS
535
+ assert(false, "Exception not raised")
536
+ rescue Sass::SyntaxError => err
537
+ assert_equal("An @include loop has been found: bar includes itself", err.message)
538
+ assert_hash_has(err.sass_backtrace[0], :mixin => "@content", :line => 5)
539
+ end
540
+
526
541
  def test_basic_import_loop_exception
527
542
  import = filename_for_test
528
543
  importer = MockImporter.new
@@ -2381,6 +2396,24 @@ SASS
2381
2396
 
2382
2397
  # Regression tests
2383
2398
 
2399
+ def test_parent_mixin_in_content_nested
2400
+ assert_equal(<<CSS, render(<<SASS))
2401
+ a {
2402
+ b: c; }
2403
+ CSS
2404
+ =foo
2405
+ @content
2406
+
2407
+ =bar
2408
+ +foo
2409
+ +foo
2410
+ a
2411
+ b: c
2412
+
2413
+ +bar
2414
+ SASS
2415
+ end
2416
+
2384
2417
  def test_supports_bubbles
2385
2418
  assert_equal <<CSS, render(<<SASS)
2386
2419
  parent {
@@ -1186,6 +1186,29 @@ SCSS
1186
1186
 
1187
1187
  # Regression Tests
1188
1188
 
1189
+ def test_nested_double_extend_optimization
1190
+ assert_equal <<CSS, render(<<SCSS)
1191
+ .parent1 .child {
1192
+ a: b; }
1193
+ CSS
1194
+ %foo %bar {
1195
+ a: b;
1196
+ }
1197
+
1198
+ .parent1 {
1199
+ @extend %foo;
1200
+
1201
+ .child {
1202
+ @extend %bar;
1203
+ }
1204
+ }
1205
+
1206
+ .parent2 {
1207
+ @extend %foo;
1208
+ }
1209
+ SCSS
1210
+ end
1211
+
1189
1212
  def test_extend_in_double_nested_media_query
1190
1213
  assert_equal <<CSS, render(<<SCSS)
1191
1214
  @media all and (orientation: landscape) {
@@ -69,6 +69,20 @@ class SassScriptConversionTest < Test::Unit::TestCase
69
69
  assert_renders "$flaznicate"
70
70
  end
71
71
 
72
+ def test_null
73
+ assert_renders "null"
74
+ end
75
+
76
+ def test_empty_list
77
+ assert_renders "()"
78
+ end
79
+
80
+ def test_list_in_args
81
+ assert_renders "foo((a, b, c))"
82
+ assert_renders "foo($arg: (a, b, c))"
83
+ assert_renders "foo(a, b, (a, b, c)...)"
84
+ end
85
+
72
86
  def self.test_precedence(outer, inner)
73
87
  op_outer = Sass::Script::Lexer::OPERATORS_REVERSE[outer]
74
88
  op_inner = Sass::Script::Lexer::OPERATORS_REVERSE[inner]
@@ -134,6 +134,7 @@ class SassScriptTest < Test::Unit::TestCase
134
134
  assert_equal '3,7', resolve('#{1 + 2},#{3 + 4}')
135
135
  assert_equal '3, 7, 11', resolve('#{1 + 2}, #{3 + 4}, #{5 + 6}')
136
136
  assert_equal '3, 7, 11', resolve('3, #{3 + 4}, 11')
137
+ assert_equal '3, 7, 11', resolve('3, 7, #{5 + 6}')
137
138
 
138
139
  assert_equal '3 / 7', resolve('3 / #{3 + 4}')
139
140
  assert_equal '3 /7', resolve('3 /#{3 + 4}')
@@ -1011,6 +1011,17 @@ SCSS
1011
1011
 
1012
1012
  ## Regressions
1013
1013
 
1014
+ def test_double_space_string
1015
+ assert_equal(<<CSS, render(<<SCSS))
1016
+ .a {
1017
+ content: " a"; }
1018
+ CSS
1019
+ .a {
1020
+ content: " a";
1021
+ }
1022
+ SCSS
1023
+ end
1024
+
1014
1025
  def test_very_long_number_with_important_doesnt_take_forever
1015
1026
  assert_equal(<<CSS, render(<<SCSS))
1016
1027
  .foo {
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.2.7
4
+ version: 3.2.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-03-09 00:00:00.000000000 Z
14
+ date: 2013-04-22 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: yard
@@ -58,281 +58,281 @@ extensions: []
58
58
  extra_rdoc_files: []
59
59
  files:
60
60
  - rails/init.rb
61
- - lib/sass/util/multibyte_string_scanner.rb
62
- - lib/sass/util/subset_map.rb
63
- - lib/sass/shared.rb
64
- - lib/sass/error.rb
65
- - lib/sass/media.rb
66
- - lib/sass/importers.rb
67
- - lib/sass/supports.rb
68
- - lib/sass/cache_stores/filesystem.rb
69
- - lib/sass/cache_stores/chain.rb
70
- - lib/sass/cache_stores/memory.rb
71
- - lib/sass/cache_stores/null.rb
72
- - lib/sass/cache_stores/base.rb
73
- - lib/sass/environment.rb
74
- - lib/sass/plugin/rack.rb
75
- - lib/sass/plugin/staleness_checker.rb
61
+ - lib/sass.rb
62
+ - lib/sass/cache_stores.rb
76
63
  - lib/sass/plugin/compiler.rb
77
- - lib/sass/plugin/configuration.rb
78
64
  - lib/sass/plugin/merb.rb
65
+ - lib/sass/plugin/staleness_checker.rb
66
+ - lib/sass/plugin/rack.rb
79
67
  - lib/sass/plugin/rails.rb
68
+ - lib/sass/plugin/configuration.rb
80
69
  - lib/sass/plugin/generic.rb
81
- - lib/sass/railtie.rb
82
- - lib/sass/logger.rb
83
- - lib/sass/callbacks.rb
84
- - lib/sass/script/string.rb
85
- - lib/sass/script/node.rb
86
- - lib/sass/script/null.rb
87
- - lib/sass/script/lexer.rb
88
- - lib/sass/script/string_interpolation.rb
89
- - lib/sass/script/css_parser.rb
90
- - lib/sass/script/variable.rb
91
- - lib/sass/script/literal.rb
92
- - lib/sass/script/bool.rb
93
- - lib/sass/script/arg_list.rb
94
- - lib/sass/script/number.rb
95
- - lib/sass/script/unary_operation.rb
96
- - lib/sass/script/css_lexer.rb
97
- - lib/sass/script/operation.rb
98
- - lib/sass/script/parser.rb
99
- - lib/sass/script/funcall.rb
100
- - lib/sass/script/color.rb
101
- - lib/sass/script/interpolation.rb
102
- - lib/sass/script/list.rb
103
- - lib/sass/script/functions.rb
104
70
  - lib/sass/version.rb
105
- - lib/sass/tree/visitors/deep_copy.rb
106
- - lib/sass/tree/visitors/set_options.rb
107
- - lib/sass/tree/visitors/cssize.rb
108
- - lib/sass/tree/visitors/to_css.rb
109
- - lib/sass/tree/visitors/perform.rb
110
- - lib/sass/tree/visitors/base.rb
111
- - lib/sass/tree/visitors/extend.rb
112
- - lib/sass/tree/visitors/check_nesting.rb
113
- - lib/sass/tree/visitors/convert.rb
114
- - lib/sass/tree/supports_node.rb
71
+ - lib/sass/supports.rb
72
+ - lib/sass/media.rb
73
+ - lib/sass/cache_stores/chain.rb
74
+ - lib/sass/cache_stores/memory.rb
75
+ - lib/sass/cache_stores/null.rb
76
+ - lib/sass/cache_stores/filesystem.rb
77
+ - lib/sass/cache_stores/base.rb
78
+ - lib/sass/shared.rb
79
+ - lib/sass/repl.rb
80
+ - lib/sass/error.rb
81
+ - lib/sass/tree/import_node.rb
82
+ - lib/sass/tree/trace_node.rb
83
+ - lib/sass/tree/return_node.rb
115
84
  - lib/sass/tree/root_node.rb
116
- - lib/sass/tree/node.rb
117
85
  - lib/sass/tree/if_node.rb
118
- - lib/sass/tree/css_import_node.rb
119
86
  - lib/sass/tree/charset_node.rb
120
- - lib/sass/tree/extend_node.rb
121
- - lib/sass/tree/trace_node.rb
122
- - lib/sass/tree/content_node.rb
123
- - lib/sass/tree/rule_node.rb
124
- - lib/sass/tree/mixin_def_node.rb
125
- - lib/sass/tree/return_node.rb
126
- - lib/sass/tree/mixin_node.rb
127
- - lib/sass/tree/prop_node.rb
128
- - lib/sass/tree/warn_node.rb
87
+ - lib/sass/tree/css_import_node.rb
88
+ - lib/sass/tree/function_node.rb
89
+ - lib/sass/tree/media_node.rb
90
+ - lib/sass/tree/while_node.rb
91
+ - lib/sass/tree/for_node.rb
129
92
  - lib/sass/tree/directive_node.rb
93
+ - lib/sass/tree/rule_node.rb
130
94
  - lib/sass/tree/each_node.rb
95
+ - lib/sass/tree/node.rb
96
+ - lib/sass/tree/mixin_node.rb
97
+ - lib/sass/tree/extend_node.rb
98
+ - lib/sass/tree/mixin_def_node.rb
99
+ - lib/sass/tree/supports_node.rb
100
+ - lib/sass/tree/visitors/perform.rb
101
+ - lib/sass/tree/visitors/to_css.rb
102
+ - lib/sass/tree/visitors/check_nesting.rb
103
+ - lib/sass/tree/visitors/deep_copy.rb
104
+ - lib/sass/tree/visitors/extend.rb
105
+ - lib/sass/tree/visitors/set_options.rb
106
+ - lib/sass/tree/visitors/cssize.rb
107
+ - lib/sass/tree/visitors/convert.rb
108
+ - lib/sass/tree/visitors/base.rb
109
+ - lib/sass/tree/content_node.rb
131
110
  - lib/sass/tree/comment_node.rb
132
- - lib/sass/tree/media_node.rb
133
- - lib/sass/tree/variable_node.rb
134
- - lib/sass/tree/function_node.rb
111
+ - lib/sass/tree/warn_node.rb
135
112
  - lib/sass/tree/debug_node.rb
136
- - lib/sass/tree/import_node.rb
137
- - lib/sass/tree/while_node.rb
138
- - lib/sass/tree/for_node.rb
139
- - lib/sass/scss/script_parser.rb
140
- - lib/sass/scss/css_parser.rb
113
+ - lib/sass/tree/prop_node.rb
114
+ - lib/sass/tree/variable_node.rb
115
+ - lib/sass/engine.rb
116
+ - lib/sass/plugin.rb
117
+ - lib/sass/root.rb
118
+ - lib/sass/importers.rb
119
+ - lib/sass/logger.rb
120
+ - lib/sass/util/multibyte_string_scanner.rb
121
+ - lib/sass/util/subset_map.rb
122
+ - lib/sass/scss.rb
123
+ - lib/sass/scss/static_parser.rb
124
+ - lib/sass/scss/parser.rb
141
125
  - lib/sass/scss/script_lexer.rb
142
126
  - lib/sass/scss/rx.rb
143
- - lib/sass/scss/parser.rb
144
- - lib/sass/scss/static_parser.rb
145
- - lib/sass/selector/simple_sequence.rb
127
+ - lib/sass/scss/script_parser.rb
128
+ - lib/sass/scss/css_parser.rb
129
+ - lib/sass/logger/log_level.rb
130
+ - lib/sass/logger/base.rb
131
+ - lib/sass/css.rb
132
+ - lib/sass/script.rb
133
+ - lib/sass/util.rb
134
+ - lib/sass/importers/filesystem.rb
135
+ - lib/sass/importers/base.rb
136
+ - lib/sass/script/color.rb
137
+ - lib/sass/script/variable.rb
138
+ - lib/sass/script/operation.rb
139
+ - lib/sass/script/funcall.rb
140
+ - lib/sass/script/literal.rb
141
+ - lib/sass/script/parser.rb
142
+ - lib/sass/script/functions.rb
143
+ - lib/sass/script/number.rb
144
+ - lib/sass/script/string_interpolation.rb
145
+ - lib/sass/script/interpolation.rb
146
+ - lib/sass/script/arg_list.rb
147
+ - lib/sass/script/node.rb
148
+ - lib/sass/script/bool.rb
149
+ - lib/sass/script/unary_operation.rb
150
+ - lib/sass/script/lexer.rb
151
+ - lib/sass/script/list.rb
152
+ - lib/sass/script/css_lexer.rb
153
+ - lib/sass/script/null.rb
154
+ - lib/sass/script/string.rb
155
+ - lib/sass/script/css_parser.rb
156
+ - lib/sass/selector.rb
157
+ - lib/sass/callbacks.rb
146
158
  - lib/sass/selector/simple.rb
147
159
  - lib/sass/selector/sequence.rb
148
160
  - lib/sass/selector/abstract_sequence.rb
149
161
  - lib/sass/selector/comma_sequence.rb
150
- - lib/sass/root.rb
151
- - lib/sass/importers/filesystem.rb
152
- - lib/sass/importers/base.rb
153
- - lib/sass/css.rb
154
- - lib/sass/selector.rb
155
- - lib/sass/engine.rb
156
- - lib/sass/plugin.rb
157
- - lib/sass/logger/log_level.rb
158
- - lib/sass/logger/base.rb
159
- - lib/sass/repl.rb
160
- - lib/sass/scss.rb
162
+ - lib/sass/selector/simple_sequence.rb
163
+ - lib/sass/railtie.rb
164
+ - lib/sass/environment.rb
161
165
  - lib/sass/exec.rb
162
- - lib/sass/util.rb
163
- - lib/sass/cache_stores.rb
164
- - lib/sass/script.rb
165
- - lib/sass.rb
166
- - vendor/listen/lib/listen.rb
166
+ - vendor/listen/README.md
167
+ - vendor/listen/CONTRIBUTING.md
168
+ - vendor/listen/Guardfile
169
+ - vendor/listen/Gemfile
167
170
  - vendor/listen/lib/listen/turnstile.rb
171
+ - vendor/listen/lib/listen/directory_record.rb
172
+ - vendor/listen/lib/listen/version.rb
173
+ - vendor/listen/lib/listen/dependency_manager.rb
168
174
  - vendor/listen/lib/listen/multi_listener.rb
169
- - vendor/listen/lib/listen/adapters/darwin.rb
175
+ - vendor/listen/lib/listen/listener.rb
170
176
  - vendor/listen/lib/listen/adapters/polling.rb
171
- - vendor/listen/lib/listen/adapters/windows.rb
172
- - vendor/listen/lib/listen/adapters/bsd.rb
177
+ - vendor/listen/lib/listen/adapters/darwin.rb
173
178
  - vendor/listen/lib/listen/adapters/linux.rb
179
+ - vendor/listen/lib/listen/adapters/bsd.rb
180
+ - vendor/listen/lib/listen/adapters/windows.rb
174
181
  - vendor/listen/lib/listen/adapter.rb
175
- - vendor/listen/lib/listen/listener.rb
176
- - vendor/listen/lib/listen/version.rb
177
- - vendor/listen/lib/listen/dependency_manager.rb
178
- - vendor/listen/lib/listen/directory_record.rb
179
- - vendor/listen/Vagrantfile
182
+ - vendor/listen/lib/listen.rb
180
183
  - vendor/listen/CHANGELOG.md
181
- - vendor/listen/LICENSE
182
184
  - vendor/listen/Rakefile
183
- - vendor/listen/CONTRIBUTING.md
184
- - vendor/listen/Gemfile
185
- - vendor/listen/README.md
186
- - vendor/listen/Guardfile
185
+ - vendor/listen/LICENSE
187
186
  - vendor/listen/listen.gemspec
188
- - vendor/listen/spec/spec_helper.rb
189
- - vendor/listen/spec/listen_spec.rb
190
- - vendor/listen/spec/support/directory_record_helper.rb
191
- - vendor/listen/spec/support/fixtures_helper.rb
192
- - vendor/listen/spec/support/listeners_helper.rb
193
- - vendor/listen/spec/support/platform_helper.rb
194
- - vendor/listen/spec/support/adapter_helper.rb
195
- - vendor/listen/spec/listen/turnstile_spec.rb
196
- - vendor/listen/spec/listen/adapters/windows_spec.rb
187
+ - vendor/listen/Vagrantfile
188
+ - vendor/listen/spec/listen/dependency_manager_spec.rb
189
+ - vendor/listen/spec/listen/directory_record_spec.rb
190
+ - vendor/listen/spec/listen/adapters/linux_spec.rb
197
191
  - vendor/listen/spec/listen/adapters/darwin_spec.rb
198
192
  - vendor/listen/spec/listen/adapters/bsd_spec.rb
199
- - vendor/listen/spec/listen/adapters/linux_spec.rb
200
193
  - vendor/listen/spec/listen/adapters/polling_spec.rb
194
+ - vendor/listen/spec/listen/adapters/windows_spec.rb
195
+ - vendor/listen/spec/listen/turnstile_spec.rb
201
196
  - vendor/listen/spec/listen/adapter_spec.rb
202
- - vendor/listen/spec/listen/directory_record_spec.rb
203
197
  - vendor/listen/spec/listen/listener_spec.rb
204
198
  - vendor/listen/spec/listen/multi_listener_spec.rb
205
- - vendor/listen/spec/listen/dependency_manager_spec.rb
206
- - bin/sass
207
- - bin/scss
199
+ - vendor/listen/spec/listen_spec.rb
200
+ - vendor/listen/spec/spec_helper.rb
201
+ - vendor/listen/spec/support/directory_record_helper.rb
202
+ - vendor/listen/spec/support/listeners_helper.rb
203
+ - vendor/listen/spec/support/adapter_helper.rb
204
+ - vendor/listen/spec/support/platform_helper.rb
205
+ - vendor/listen/spec/support/fixtures_helper.rb
208
206
  - bin/sass-convert
209
- - test/sass/plugin_test.rb
210
- - test/sass/util/subset_map_test.rb
211
- - test/sass/util/multibyte_string_scanner_test.rb
207
+ - bin/scss
208
+ - bin/sass
209
+ - test/Gemfile
210
+ - test/Gemfile.lock
211
+ - test/test_helper.rb
212
+ - test/sass/engine_test.rb
213
+ - test/sass/functions_test.rb
214
+ - test/sass/fixtures/test_staleness_check_across_importers.scss
215
+ - test/sass/fixtures/test_staleness_check_across_importers.css
216
+ - test/sass/data/hsl-rgb.txt
217
+ - test/sass/extend_test.rb
218
+ - test/sass/logger_test.rb
219
+ - test/sass/css2sass_test.rb
220
+ - test/sass/templates/_filename_fn_import.scss
212
221
  - test/sass/templates/basic.sass
213
- - test/sass/templates/line_numbers.sass
214
- - test/sass/templates/nested_bork2.sass
215
- - test/sass/templates/_imported_charset_utf8.sass
216
- - test/sass/templates/mixin_bork.sass
217
- - test/sass/templates/import_charset.sass
218
- - test/sass/templates/cached_import_option.scss
219
- - test/sass/templates/_same_name_different_partiality.scss
220
- - test/sass/templates/importee.less
221
- - test/sass/templates/warn.sass
222
- - test/sass/templates/single_import_loop.sass
223
- - test/sass/templates/parent_ref.sass
224
- - test/sass/templates/nested_bork3.sass
225
- - test/sass/templates/script.sass
226
- - test/sass/templates/import.sass
227
- - test/sass/templates/scss_importee.scss
228
- - test/sass/templates/bork1.sass
229
- - test/sass/templates/compressed.sass
230
- - test/sass/templates/importee.sass
222
+ - test/sass/templates/mixins.sass
223
+ - test/sass/templates/options.sass
224
+ - test/sass/templates/scss_import.scss
225
+ - test/sass/templates/subdir/subdir.sass
226
+ - test/sass/templates/subdir/nested_subdir/_nested_partial.sass
227
+ - test/sass/templates/subdir/nested_subdir/nested_subdir.sass
228
+ - test/sass/templates/_imported_content.sass
231
229
  - test/sass/templates/filename_fn.scss
232
- - test/sass/templates/_partial.sass
233
- - test/sass/templates/units.sass
230
+ - test/sass/templates/alt.sass
234
231
  - test/sass/templates/nested_bork1.sass
235
232
  - test/sass/templates/same_name_different_partiality.scss
236
- - test/sass/templates/_double_import_loop2.sass
233
+ - test/sass/templates/complex.sass
234
+ - test/sass/templates/units.sass
235
+ - test/sass/templates/nested_import.sass
236
+ - test/sass/templates/importee.sass
237
+ - test/sass/templates/importee.less
238
+ - test/sass/templates/_cached_import_option_partial.scss
239
+ - test/sass/templates/scss_importee.scss
240
+ - test/sass/templates/line_numbers.sass
241
+ - test/sass/templates/expanded.sass
237
242
  - test/sass/templates/bork3.sass
238
243
  - test/sass/templates/import_content.sass
239
- - test/sass/templates/nested_mixin_bork.sass
240
- - test/sass/templates/complex.sass
241
- - test/sass/templates/if.sass
242
- - test/sass/templates/same_name_different_ext.scss
244
+ - test/sass/templates/warn_imported.sass
243
245
  - test/sass/templates/import_charset_ibm866.sass
244
- - test/sass/templates/_filename_fn_import.scss
245
- - test/sass/templates/double_import_loop1.sass
246
- - test/sass/templates/_imported_content.sass
247
- - test/sass/templates/alt.sass
248
- - test/sass/templates/scss_import.scss
246
+ - test/sass/templates/bork1.sass
247
+ - test/sass/templates/warn.sass
248
+ - test/sass/templates/bork2.sass
249
+ - test/sass/templates/nested.sass
249
250
  - test/sass/templates/compact.sass
251
+ - test/sass/templates/single_import_loop.sass
252
+ - test/sass/templates/_same_name_different_partiality.scss
253
+ - test/sass/templates/multiline.sass
250
254
  - test/sass/templates/_imported_charset_ibm866.sass
251
- - test/sass/templates/_cached_import_option_partial.scss
252
- - test/sass/templates/nested.sass
253
- - test/sass/templates/subdir/subdir.sass
254
- - test/sass/templates/subdir/nested_subdir/_nested_partial.sass
255
- - test/sass/templates/subdir/nested_subdir/nested_subdir.sass
256
- - test/sass/templates/warn_imported.sass
257
- - test/sass/templates/same_name_different_ext.sass
258
- - test/sass/templates/options.sass
255
+ - test/sass/templates/double_import_loop1.sass
256
+ - test/sass/templates/_double_import_loop2.sass
257
+ - test/sass/templates/import_charset.sass
258
+ - test/sass/templates/parent_ref.sass
259
+ - test/sass/templates/import.sass
260
+ - test/sass/templates/nested_bork3.sass
261
+ - test/sass/templates/script.sass
262
+ - test/sass/templates/same_name_different_ext.scss
259
263
  - test/sass/templates/bork4.sass
264
+ - test/sass/templates/if.sass
265
+ - test/sass/templates/_partial.sass
266
+ - test/sass/templates/nested_mixin_bork.sass
260
267
  - test/sass/templates/import_charset_1_8.sass
268
+ - test/sass/templates/same_name_different_ext.sass
269
+ - test/sass/templates/nested_bork2.sass
270
+ - test/sass/templates/mixin_bork.sass
271
+ - test/sass/templates/compressed.sass
261
272
  - test/sass/templates/nested_bork4.sass
262
- - test/sass/templates/nested_import.sass
263
- - test/sass/templates/multiline.sass
264
- - test/sass/templates/expanded.sass
265
- - test/sass/templates/mixins.sass
266
- - test/sass/templates/bork2.sass
267
- - test/sass/script_conversion_test.rb
268
- - test/sass/mock_importer.rb
269
- - test/sass/test_helper.rb
270
- - test/sass/logger_test.rb
271
- - test/sass/fixtures/test_staleness_check_across_importers.css
272
- - test/sass/fixtures/test_staleness_check_across_importers.scss
273
- - test/sass/functions_test.rb
274
- - test/sass/util_test.rb
275
- - test/sass/more_results/more1.css
276
- - test/sass/more_results/more1_with_line_comments.css
277
- - test/sass/more_results/more_import.css
278
- - test/sass/data/hsl-rgb.txt
279
- - test/sass/scss/test_helper.rb
280
- - test/sass/scss/css_test.rb
281
- - test/sass/scss/rx_test.rb
282
- - test/sass/scss/scss_test.rb
283
- - test/sass/script_test.rb
284
- - test/sass/importer_test.rb
285
- - test/sass/cache_test.rb
273
+ - test/sass/templates/cached_import_option.scss
274
+ - test/sass/templates/_imported_charset_utf8.sass
286
275
  - test/sass/conversion_test.rb
287
- - test/sass/more_templates/more1.sass
288
- - test/sass/more_templates/_more_partial.sass
289
- - test/sass/more_templates/more_import.sass
290
- - test/sass/extend_test.rb
291
- - test/sass/engine_test.rb
292
- - test/sass/css2sass_test.rb
276
+ - test/sass/script_test.rb
277
+ - test/sass/util/subset_map_test.rb
278
+ - test/sass/util/multibyte_string_scanner_test.rb
293
279
  - test/sass/callbacks_test.rb
294
- - test/sass/results/units.css
295
- - test/sass/results/alt.css
296
- - test/sass/results/scss_importee.css
297
- - test/sass/results/filename_fn.css
298
- - test/sass/results/line_numbers.css
299
- - test/sass/results/import_charset.css
280
+ - test/sass/importer_test.rb
281
+ - test/sass/scss/css_test.rb
282
+ - test/sass/scss/scss_test.rb
283
+ - test/sass/scss/rx_test.rb
284
+ - test/sass/scss/test_helper.rb
285
+ - test/sass/util_test.rb
286
+ - test/sass/results/mixins.css
287
+ - test/sass/results/warn_imported.css
300
288
  - test/sass/results/expanded.css
301
- - test/sass/results/warn.css
302
- - test/sass/results/script.css
303
- - test/sass/results/cached_import_option.css
304
- - test/sass/results/if.css
305
- - test/sass/results/scss_import.css
289
+ - test/sass/results/compact.css
306
290
  - test/sass/results/import_content.css
307
- - test/sass/results/nested.css
291
+ - test/sass/results/compressed.css
292
+ - test/sass/results/scss_importee.css
293
+ - test/sass/results/basic.css
294
+ - test/sass/results/subdir/nested_subdir/nested_subdir.css
295
+ - test/sass/results/subdir/subdir.css
308
296
  - test/sass/results/options.css
309
- - test/sass/results/import_charset_1_8.css
297
+ - test/sass/results/scss_import.css
298
+ - test/sass/results/units.css
310
299
  - test/sass/results/parent_ref.css
300
+ - test/sass/results/script.css
301
+ - test/sass/results/complex.css
302
+ - test/sass/results/cached_import_option.css
303
+ - test/sass/results/import_charset.css
304
+ - test/sass/results/alt.css
305
+ - test/sass/results/if.css
311
306
  - test/sass/results/multiline.css
307
+ - test/sass/results/import_charset_1_8.css
308
+ - test/sass/results/warn.css
312
309
  - test/sass/results/import_charset_ibm866.css
313
- - test/sass/results/subdir/subdir.css
314
- - test/sass/results/subdir/nested_subdir/nested_subdir.css
315
- - test/sass/results/warn_imported.css
316
- - test/sass/results/compact.css
317
- - test/sass/results/mixins.css
318
- - test/sass/results/complex.css
319
- - test/sass/results/compressed.css
310
+ - test/sass/results/filename_fn.css
320
311
  - test/sass/results/import.css
321
- - test/sass/results/basic.css
322
- - test/test_helper.rb
323
- - test/Gemfile.lock
324
- - test/Gemfile
312
+ - test/sass/results/nested.css
313
+ - test/sass/results/line_numbers.css
314
+ - test/sass/test_helper.rb
315
+ - test/sass/more_templates/_more_partial.sass
316
+ - test/sass/more_templates/more_import.sass
317
+ - test/sass/more_templates/more1.sass
318
+ - test/sass/script_conversion_test.rb
319
+ - test/sass/more_results/more1.css
320
+ - test/sass/more_results/more1_with_line_comments.css
321
+ - test/sass/more_results/more_import.css
322
+ - test/sass/mock_importer.rb
323
+ - test/sass/cache_test.rb
324
+ - test/sass/plugin_test.rb
325
325
  - extra/update_watch.rb
326
326
  - Rakefile
327
327
  - init.rb
328
328
  - .yardopts
329
- - MIT-LICENSE
329
+ - README.md
330
+ - VERSION_NAME
331
+ - VERSION_DATE
330
332
  - REVISION
333
+ - MIT-LICENSE
331
334
  - VERSION
332
- - VERSION_NAME
333
- - README.md
334
335
  - CONTRIBUTING
335
- - VERSION_DATE
336
336
  homepage: http://sass-lang.com/
337
337
  licenses:
338
338
  - MIT
@@ -359,21 +359,21 @@ signing_key:
359
359
  specification_version: 3
360
360
  summary: A powerful but elegant CSS compiler that makes CSS fun again.
361
361
  test_files:
362
- - test/sass/plugin_test.rb
362
+ - test/sass/engine_test.rb
363
+ - test/sass/functions_test.rb
364
+ - test/sass/extend_test.rb
365
+ - test/sass/logger_test.rb
366
+ - test/sass/css2sass_test.rb
367
+ - test/sass/conversion_test.rb
368
+ - test/sass/script_test.rb
363
369
  - test/sass/util/subset_map_test.rb
364
370
  - test/sass/util/multibyte_string_scanner_test.rb
365
- - test/sass/script_conversion_test.rb
366
- - test/sass/logger_test.rb
367
- - test/sass/functions_test.rb
368
- - test/sass/util_test.rb
371
+ - test/sass/callbacks_test.rb
372
+ - test/sass/importer_test.rb
369
373
  - test/sass/scss/css_test.rb
370
- - test/sass/scss/rx_test.rb
371
374
  - test/sass/scss/scss_test.rb
372
- - test/sass/script_test.rb
373
- - test/sass/importer_test.rb
375
+ - test/sass/scss/rx_test.rb
376
+ - test/sass/util_test.rb
377
+ - test/sass/script_conversion_test.rb
374
378
  - test/sass/cache_test.rb
375
- - test/sass/conversion_test.rb
376
- - test/sass/extend_test.rb
377
- - test/sass/engine_test.rb
378
- - test/sass/css2sass_test.rb
379
- - test/sass/callbacks_test.rb
379
+ - test/sass/plugin_test.rb