sass 3.2.7 → 3.2.8

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