sass 3.4.25 → 3.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CODE_OF_CONDUCT.md +1 -1
- data/CONTRIBUTING.md +3 -3
- data/README.md +17 -9
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/VERSION_NAME +1 -1
- data/extra/sass-spec-ref.sh +9 -1
- data/lib/sass.rb +0 -7
- data/lib/sass/cache_stores/filesystem.rb +1 -1
- data/lib/sass/css.rb +1 -2
- data/lib/sass/engine.rb +39 -29
- data/lib/sass/environment.rb +26 -5
- data/lib/sass/error.rb +2 -2
- data/lib/sass/exec/base.rb +2 -13
- data/lib/sass/exec/sass_scss.rb +1 -5
- data/lib/sass/features.rb +1 -0
- data/lib/sass/importers/filesystem.rb +6 -4
- data/lib/sass/logger/base.rb +11 -0
- data/lib/sass/plugin/compiler.rb +20 -50
- data/lib/sass/plugin/configuration.rb +2 -2
- data/lib/sass/railtie.rb +1 -1
- data/lib/sass/script/css_parser.rb +4 -1
- data/lib/sass/script/functions.rb +308 -81
- data/lib/sass/script/lexer.rb +63 -9
- data/lib/sass/script/parser.rb +287 -118
- data/lib/sass/script/tree/funcall.rb +35 -34
- data/lib/sass/script/tree/interpolation.rb +0 -3
- data/lib/sass/script/tree/list_literal.rb +23 -8
- data/lib/sass/script/tree/map_literal.rb +2 -2
- data/lib/sass/script/tree/node.rb +0 -8
- data/lib/sass/script/tree/operation.rb +1 -8
- data/lib/sass/script/value.rb +2 -0
- data/lib/sass/script/value/arg_list.rb +1 -1
- data/lib/sass/script/value/base.rb +17 -0
- data/lib/sass/script/value/callable.rb +25 -0
- data/lib/sass/script/value/color.rb +8 -2
- data/lib/sass/script/value/function.rb +19 -0
- data/lib/sass/script/value/helpers.rb +37 -11
- data/lib/sass/script/value/list.rb +35 -14
- data/lib/sass/script/value/map.rb +2 -2
- data/lib/sass/script/value/number.rb +3 -2
- data/lib/sass/scss/css_parser.rb +6 -1
- data/lib/sass/scss/parser.rb +145 -56
- data/lib/sass/scss/rx.rb +5 -11
- data/lib/sass/scss/static_parser.rb +20 -42
- data/lib/sass/selector.rb +4 -0
- data/lib/sass/selector/abstract_sequence.rb +7 -6
- data/lib/sass/selector/comma_sequence.rb +9 -5
- data/lib/sass/selector/pseudo.rb +20 -3
- data/lib/sass/selector/sequence.rb +35 -10
- data/lib/sass/selector/simple.rb +9 -2
- data/lib/sass/selector/simple_sequence.rb +8 -4
- data/lib/sass/source/map.rb +2 -6
- data/lib/sass/stack.rb +21 -1
- data/lib/sass/tree/charset_node.rb +1 -1
- data/lib/sass/tree/prop_node.rb +45 -53
- data/lib/sass/tree/rule_node.rb +6 -8
- data/lib/sass/tree/visitors/check_nesting.rb +1 -1
- data/lib/sass/tree/visitors/convert.rb +2 -3
- data/lib/sass/tree/visitors/cssize.rb +4 -15
- data/lib/sass/tree/visitors/deep_copy.rb +1 -1
- data/lib/sass/tree/visitors/extend.rb +2 -8
- data/lib/sass/tree/visitors/perform.rb +23 -15
- data/lib/sass/tree/visitors/set_options.rb +1 -1
- data/lib/sass/tree/visitors/to_css.rb +49 -22
- data/lib/sass/util.rb +72 -310
- data/lib/sass/util/multibyte_string_scanner.rb +127 -131
- data/lib/sass/util/normalized_map.rb +1 -8
- data/lib/sass/version.rb +0 -4
- metadata +55 -202
- data/Rakefile +0 -453
- data/lib/sass/script/css_variable_warning.rb +0 -52
- data/lib/sass/util/cross_platform_random.rb +0 -19
- data/lib/sass/util/ordered_hash.rb +0 -192
- data/test/sass-spec.yml +0 -3
- data/test/sass/cache_test.rb +0 -131
- data/test/sass/callbacks_test.rb +0 -61
- data/test/sass/compiler_test.rb +0 -236
- data/test/sass/conversion_test.rb +0 -2188
- data/test/sass/css2sass_test.rb +0 -526
- data/test/sass/css_variable_test.rb +0 -132
- data/test/sass/data/hsl-rgb.txt +0 -319
- data/test/sass/encoding_test.rb +0 -219
- data/test/sass/engine_test.rb +0 -3447
- data/test/sass/exec_test.rb +0 -96
- data/test/sass/extend_test.rb +0 -1733
- data/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
- data/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
- data/test/sass/functions_test.rb +0 -1977
- data/test/sass/importer_test.rb +0 -421
- data/test/sass/logger_test.rb +0 -58
- data/test/sass/mock_importer.rb +0 -49
- data/test/sass/more_results/more1.css +0 -9
- data/test/sass/more_results/more1_with_line_comments.css +0 -26
- data/test/sass/more_results/more_import.css +0 -29
- data/test/sass/more_templates/_more_partial.sass +0 -2
- data/test/sass/more_templates/more1.sass +0 -23
- data/test/sass/more_templates/more_import.sass +0 -11
- data/test/sass/plugin_test.rb +0 -556
- data/test/sass/results/alt.css +0 -4
- data/test/sass/results/basic.css +0 -9
- data/test/sass/results/cached_import_option.css +0 -3
- data/test/sass/results/compact.css +0 -5
- data/test/sass/results/complex.css +0 -86
- data/test/sass/results/compressed.css +0 -1
- data/test/sass/results/expanded.css +0 -19
- data/test/sass/results/filename_fn.css +0 -3
- data/test/sass/results/if.css +0 -3
- data/test/sass/results/import.css +0 -31
- data/test/sass/results/import_charset.css +0 -5
- data/test/sass/results/import_charset_1_8.css +0 -5
- data/test/sass/results/import_charset_ibm866.css +0 -5
- data/test/sass/results/import_content.css +0 -1
- data/test/sass/results/line_numbers.css +0 -49
- data/test/sass/results/mixins.css +0 -95
- data/test/sass/results/multiline.css +0 -24
- data/test/sass/results/nested.css +0 -22
- data/test/sass/results/options.css +0 -1
- data/test/sass/results/parent_ref.css +0 -13
- data/test/sass/results/script.css +0 -16
- data/test/sass/results/scss_import.css +0 -31
- data/test/sass/results/scss_importee.css +0 -2
- data/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
- data/test/sass/results/subdir/subdir.css +0 -3
- data/test/sass/results/units.css +0 -11
- data/test/sass/results/warn.css +0 -0
- data/test/sass/results/warn_imported.css +0 -0
- data/test/sass/script_conversion_test.rb +0 -357
- data/test/sass/script_test.rb +0 -1431
- data/test/sass/scss/css_test.rb +0 -1281
- data/test/sass/scss/rx_test.rb +0 -160
- data/test/sass/scss/scss_test.rb +0 -4205
- data/test/sass/scss/test_helper.rb +0 -37
- data/test/sass/source_map_test.rb +0 -1055
- data/test/sass/superselector_test.rb +0 -210
- data/test/sass/templates/_cached_import_option_partial.scss +0 -1
- data/test/sass/templates/_double_import_loop2.sass +0 -1
- data/test/sass/templates/_filename_fn_import.scss +0 -11
- data/test/sass/templates/_imported_charset_ibm866.sass +0 -4
- data/test/sass/templates/_imported_charset_utf8.sass +0 -4
- data/test/sass/templates/_imported_content.sass +0 -3
- data/test/sass/templates/_partial.sass +0 -2
- data/test/sass/templates/_same_name_different_partiality.scss +0 -1
- data/test/sass/templates/alt.sass +0 -16
- data/test/sass/templates/basic.sass +0 -23
- data/test/sass/templates/bork1.sass +0 -2
- data/test/sass/templates/bork2.sass +0 -2
- data/test/sass/templates/bork3.sass +0 -2
- data/test/sass/templates/bork4.sass +0 -2
- data/test/sass/templates/bork5.sass +0 -3
- data/test/sass/templates/cached_import_option.scss +0 -3
- data/test/sass/templates/compact.sass +0 -17
- data/test/sass/templates/complex.sass +0 -305
- data/test/sass/templates/compressed.sass +0 -15
- data/test/sass/templates/double_import_loop1.sass +0 -1
- data/test/sass/templates/expanded.sass +0 -17
- data/test/sass/templates/filename_fn.scss +0 -18
- data/test/sass/templates/if.sass +0 -11
- data/test/sass/templates/import.sass +0 -12
- data/test/sass/templates/import_charset.sass +0 -9
- data/test/sass/templates/import_charset_1_8.sass +0 -6
- data/test/sass/templates/import_charset_ibm866.sass +0 -11
- data/test/sass/templates/import_content.sass +0 -4
- data/test/sass/templates/importee.less +0 -2
- data/test/sass/templates/importee.sass +0 -19
- data/test/sass/templates/line_numbers.sass +0 -13
- data/test/sass/templates/mixin_bork.sass +0 -5
- data/test/sass/templates/mixins.sass +0 -76
- data/test/sass/templates/multiline.sass +0 -20
- data/test/sass/templates/nested.sass +0 -25
- data/test/sass/templates/nested_bork1.sass +0 -2
- data/test/sass/templates/nested_bork2.sass +0 -2
- data/test/sass/templates/nested_bork3.sass +0 -2
- data/test/sass/templates/nested_bork4.sass +0 -2
- data/test/sass/templates/nested_import.sass +0 -2
- data/test/sass/templates/nested_mixin_bork.sass +0 -6
- data/test/sass/templates/options.sass +0 -2
- data/test/sass/templates/parent_ref.sass +0 -25
- data/test/sass/templates/same_name_different_ext.sass +0 -2
- data/test/sass/templates/same_name_different_ext.scss +0 -1
- data/test/sass/templates/same_name_different_partiality.scss +0 -1
- data/test/sass/templates/script.sass +0 -101
- data/test/sass/templates/scss_import.scss +0 -12
- data/test/sass/templates/scss_importee.scss +0 -1
- data/test/sass/templates/single_import_loop.sass +0 -1
- data/test/sass/templates/subdir/import_up1.scss +0 -1
- data/test/sass/templates/subdir/import_up2.scss +0 -1
- data/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
- data/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
- data/test/sass/templates/subdir/subdir.sass +0 -6
- data/test/sass/templates/units.sass +0 -11
- data/test/sass/templates/warn.sass +0 -3
- data/test/sass/templates/warn_imported.sass +0 -4
- data/test/sass/test_helper.rb +0 -8
- data/test/sass/util/multibyte_string_scanner_test.rb +0 -155
- data/test/sass/util/normalized_map_test.rb +0 -51
- data/test/sass/util/subset_map_test.rb +0 -91
- data/test/sass/util_test.rb +0 -438
- data/test/sass/value_helpers_test.rb +0 -179
- data/test/test_helper.rb +0 -110
- data/vendor/listen/CHANGELOG.md +0 -1
- data/vendor/listen/CONTRIBUTING.md +0 -38
- data/vendor/listen/Gemfile +0 -20
- data/vendor/listen/Guardfile +0 -8
- data/vendor/listen/LICENSE +0 -20
- data/vendor/listen/README.md +0 -349
- data/vendor/listen/Rakefile +0 -5
- data/vendor/listen/Vagrantfile +0 -96
- data/vendor/listen/lib/listen.rb +0 -54
- data/vendor/listen/lib/listen/adapter.rb +0 -327
- data/vendor/listen/lib/listen/adapters/bsd.rb +0 -75
- data/vendor/listen/lib/listen/adapters/darwin.rb +0 -48
- data/vendor/listen/lib/listen/adapters/linux.rb +0 -81
- data/vendor/listen/lib/listen/adapters/polling.rb +0 -58
- data/vendor/listen/lib/listen/adapters/windows.rb +0 -91
- data/vendor/listen/lib/listen/directory_record.rb +0 -406
- data/vendor/listen/lib/listen/listener.rb +0 -323
- data/vendor/listen/lib/listen/turnstile.rb +0 -32
- data/vendor/listen/lib/listen/version.rb +0 -3
- data/vendor/listen/listen.gemspec +0 -28
- data/vendor/listen/spec/listen/adapter_spec.rb +0 -149
- data/vendor/listen/spec/listen/adapters/bsd_spec.rb +0 -36
- data/vendor/listen/spec/listen/adapters/darwin_spec.rb +0 -37
- data/vendor/listen/spec/listen/adapters/linux_spec.rb +0 -47
- data/vendor/listen/spec/listen/adapters/polling_spec.rb +0 -68
- data/vendor/listen/spec/listen/adapters/windows_spec.rb +0 -30
- data/vendor/listen/spec/listen/directory_record_spec.rb +0 -1250
- data/vendor/listen/spec/listen/listener_spec.rb +0 -258
- data/vendor/listen/spec/listen/turnstile_spec.rb +0 -56
- data/vendor/listen/spec/listen_spec.rb +0 -67
- data/vendor/listen/spec/spec_helper.rb +0 -25
- data/vendor/listen/spec/support/adapter_helper.rb +0 -666
- data/vendor/listen/spec/support/directory_record_helper.rb +0 -57
- data/vendor/listen/spec/support/fixtures_helper.rb +0 -29
- data/vendor/listen/spec/support/listeners_helper.rb +0 -179
- data/vendor/listen/spec/support/platform_helper.rb +0 -15
|
@@ -1,155 +1,151 @@
|
|
|
1
1
|
require 'strscan'
|
|
2
2
|
|
|
3
|
-
if Sass::Util.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@mb_pos = 0
|
|
15
|
-
@mb_matched_size = nil
|
|
16
|
-
@mb_last_pos = nil
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def is_a?(klass)
|
|
20
|
-
__getobj__.is_a?(klass) || super
|
|
21
|
-
end
|
|
3
|
+
if Sass::Util.rbx?
|
|
4
|
+
# Rubinius's StringScanner class implements some of its methods in terms of
|
|
5
|
+
# others, which causes us to double-count bytes in some cases if we do
|
|
6
|
+
# straightforward inheritance. To work around this, we use a delegate class.
|
|
7
|
+
require 'delegate'
|
|
8
|
+
class Sass::Util::MultibyteStringScanner < DelegateClass(StringScanner)
|
|
9
|
+
def initialize(str)
|
|
10
|
+
super(StringScanner.new(str))
|
|
11
|
+
@mb_pos = 0
|
|
12
|
+
@mb_matched_size = nil
|
|
13
|
+
@mb_last_pos = nil
|
|
22
14
|
end
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
super
|
|
27
|
-
@mb_pos = 0
|
|
28
|
-
@mb_matched_size = nil
|
|
29
|
-
@mb_last_pos = nil
|
|
30
|
-
end
|
|
15
|
+
|
|
16
|
+
def is_a?(klass)
|
|
17
|
+
__getobj__.is_a?(klass) || super
|
|
31
18
|
end
|
|
32
19
|
end
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
# characters, for methods like [#pos] and [#matched_size]. This class deals
|
|
37
|
-
# only in characters, instead.
|
|
38
|
-
class Sass::Util::MultibyteStringScanner
|
|
39
|
-
def self.new(str)
|
|
40
|
-
return StringScanner.new(str) if str.ascii_only?
|
|
20
|
+
else
|
|
21
|
+
class Sass::Util::MultibyteStringScanner < StringScanner
|
|
22
|
+
def initialize(str)
|
|
41
23
|
super
|
|
24
|
+
@mb_pos = 0
|
|
25
|
+
@mb_matched_size = nil
|
|
26
|
+
@mb_last_pos = nil
|
|
42
27
|
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
43
30
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
alias_method :peep, :peek
|
|
54
|
-
def pos; @mb_pos; end
|
|
55
|
-
alias_method :pointer, :pos
|
|
56
|
-
def rest_size; rest.size; end
|
|
57
|
-
def scan(pattern); _forward _match super; end
|
|
58
|
-
def scan_until(pattern); _forward _matched super; end
|
|
59
|
-
def skip(pattern); _size scan(pattern); end
|
|
60
|
-
def skip_until(pattern); _matched _size scan_until(pattern); end
|
|
61
|
-
|
|
62
|
-
def get_byte
|
|
63
|
-
raise "MultibyteStringScanner doesn't support #get_byte."
|
|
64
|
-
end
|
|
31
|
+
# A wrapper of the native StringScanner class that works correctly with
|
|
32
|
+
# multibyte character encodings. The native class deals only in bytes, not
|
|
33
|
+
# characters, for methods like [#pos] and [#matched_size]. This class deals
|
|
34
|
+
# only in characters, instead.
|
|
35
|
+
class Sass::Util::MultibyteStringScanner
|
|
36
|
+
def self.new(str)
|
|
37
|
+
return StringScanner.new(str) if str.ascii_only?
|
|
38
|
+
super
|
|
39
|
+
end
|
|
65
40
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
41
|
+
alias_method :byte_pos, :pos
|
|
42
|
+
alias_method :byte_matched_size, :matched_size
|
|
43
|
+
|
|
44
|
+
def check(pattern); _match super; end
|
|
45
|
+
def check_until(pattern); _matched super; end
|
|
46
|
+
def getch; _forward _match super; end
|
|
47
|
+
def match?(pattern); _size check(pattern); end
|
|
48
|
+
def matched_size; @mb_matched_size; end
|
|
49
|
+
def peek(len); string[@mb_pos, len]; end
|
|
50
|
+
alias_method :peep, :peek
|
|
51
|
+
def pos; @mb_pos; end
|
|
52
|
+
alias_method :pointer, :pos
|
|
53
|
+
def rest_size; rest.size; end
|
|
54
|
+
def scan(pattern); _forward _match super; end
|
|
55
|
+
def scan_until(pattern); _forward _matched super; end
|
|
56
|
+
def skip(pattern); _size scan(pattern); end
|
|
57
|
+
def skip_until(pattern); _matched _size scan_until(pattern); end
|
|
58
|
+
|
|
59
|
+
def get_byte
|
|
60
|
+
raise "MultibyteStringScanner doesn't support #get_byte."
|
|
61
|
+
end
|
|
69
62
|
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
def getbyte
|
|
64
|
+
raise "MultibyteStringScanner doesn't support #getbyte."
|
|
65
|
+
end
|
|
72
66
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
67
|
+
def pos=(n)
|
|
68
|
+
@mb_last_pos = nil
|
|
69
|
+
|
|
70
|
+
# We set position kind of a lot during parsing, so we want it to be as
|
|
71
|
+
# efficient as possible. This is complicated by the fact that UTF-8 is a
|
|
72
|
+
# variable-length encoding, so it's difficult to find the byte length that
|
|
73
|
+
# corresponds to a given character length.
|
|
74
|
+
#
|
|
75
|
+
# Our heuristic here is to try to count the fewest possible characters. So
|
|
76
|
+
# if the new position is close to the current one, just count the
|
|
77
|
+
# characters between the two; if the new position is closer to the
|
|
78
|
+
# beginning of the string, just count the characters from there.
|
|
79
|
+
if @mb_pos - n < @mb_pos / 2
|
|
80
|
+
# New position is close to old position
|
|
81
|
+
byte_delta = @mb_pos > n ? -string[n...@mb_pos].bytesize : string[@mb_pos...n].bytesize
|
|
82
|
+
super(byte_pos + byte_delta)
|
|
83
|
+
else
|
|
84
|
+
# New position is close to BOS
|
|
85
|
+
super(string[0...n].bytesize)
|
|
86
|
+
end
|
|
87
|
+
@mb_pos = n
|
|
88
|
+
end
|
|
92
89
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
90
|
+
def reset
|
|
91
|
+
@mb_pos = 0
|
|
92
|
+
@mb_matched_size = nil
|
|
93
|
+
@mb_last_pos = nil
|
|
94
|
+
super
|
|
95
|
+
end
|
|
99
96
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
97
|
+
def scan_full(pattern, advance_pointer_p, return_string_p)
|
|
98
|
+
res = _match super(pattern, advance_pointer_p, true)
|
|
99
|
+
_forward res if advance_pointer_p
|
|
100
|
+
return res if return_string_p
|
|
101
|
+
end
|
|
105
102
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
103
|
+
def search_full(pattern, advance_pointer_p, return_string_p)
|
|
104
|
+
res = super(pattern, advance_pointer_p, true)
|
|
105
|
+
_forward res if advance_pointer_p
|
|
106
|
+
_matched((res if return_string_p))
|
|
107
|
+
end
|
|
111
108
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
109
|
+
def string=(str)
|
|
110
|
+
@mb_pos = 0
|
|
111
|
+
@mb_matched_size = nil
|
|
112
|
+
@mb_last_pos = nil
|
|
113
|
+
super
|
|
114
|
+
end
|
|
118
115
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
116
|
+
def terminate
|
|
117
|
+
@mb_pos = string.size
|
|
118
|
+
@mb_matched_size = nil
|
|
119
|
+
@mb_last_pos = nil
|
|
120
|
+
super
|
|
121
|
+
end
|
|
122
|
+
alias_method :clear, :terminate
|
|
126
123
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
124
|
+
def unscan
|
|
125
|
+
super
|
|
126
|
+
@mb_pos = @mb_last_pos
|
|
127
|
+
@mb_last_pos = @mb_matched_size = nil
|
|
128
|
+
end
|
|
132
129
|
|
|
133
|
-
|
|
130
|
+
private
|
|
134
131
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
132
|
+
def _size(str)
|
|
133
|
+
str && str.size
|
|
134
|
+
end
|
|
138
135
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
136
|
+
def _match(str)
|
|
137
|
+
@mb_matched_size = str && str.size
|
|
138
|
+
str
|
|
139
|
+
end
|
|
143
140
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
141
|
+
def _matched(res)
|
|
142
|
+
_match matched
|
|
143
|
+
res
|
|
144
|
+
end
|
|
148
145
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
end
|
|
146
|
+
def _forward(str)
|
|
147
|
+
@mb_last_pos = @mb_pos
|
|
148
|
+
@mb_pos += str.size if str
|
|
149
|
+
str
|
|
154
150
|
end
|
|
155
151
|
end
|
|
@@ -5,12 +5,11 @@ module Sass
|
|
|
5
5
|
# A hash that normalizes its string keys while still allowing you to get back
|
|
6
6
|
# to the original keys that were stored. If several different values normalize
|
|
7
7
|
# to the same value, whichever is stored last wins.
|
|
8
|
-
require 'sass/util/ordered_hash' if ruby1_8?
|
|
9
8
|
class NormalizedMap
|
|
10
9
|
# Create a normalized map
|
|
11
10
|
def initialize(map = nil)
|
|
12
11
|
@key_strings = {}
|
|
13
|
-
@map =
|
|
12
|
+
@map = {}
|
|
14
13
|
|
|
15
14
|
map.each {|key, value| self[key] = value} if map
|
|
16
15
|
end
|
|
@@ -115,12 +114,6 @@ module Sass
|
|
|
115
114
|
@map.send(method, *args, &block)
|
|
116
115
|
end
|
|
117
116
|
|
|
118
|
-
if Sass::Util.ruby1_8?
|
|
119
|
-
def respond_to?(method, include_private = false)
|
|
120
|
-
super || @map.respond_to?(method, include_private)
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
|
|
124
117
|
def respond_to_missing?(method, include_private = false)
|
|
125
118
|
@map.respond_to?(method, include_private)
|
|
126
119
|
end
|
data/lib/sass/version.rb
CHANGED
|
@@ -42,8 +42,6 @@ module Sass
|
|
|
42
42
|
# }
|
|
43
43
|
#
|
|
44
44
|
# @return [{Symbol => String/Integer}] The version hash
|
|
45
|
-
# @comment
|
|
46
|
-
# rubocop:disable ClassVars
|
|
47
45
|
def version
|
|
48
46
|
return @@version if defined?(@@version)
|
|
49
47
|
|
|
@@ -77,10 +75,8 @@ module Sass
|
|
|
77
75
|
end
|
|
78
76
|
end
|
|
79
77
|
|
|
80
|
-
@@version[:string] << " (#{name})"
|
|
81
78
|
@@version
|
|
82
79
|
end
|
|
83
|
-
# rubocop:enable ClassVars
|
|
84
80
|
|
|
85
81
|
private
|
|
86
82
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sass
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.4
|
|
4
|
+
version: 3.7.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Natalie Weizenbaum
|
|
@@ -10,8 +10,22 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2019-04-04 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
16
|
+
name: sass-listen
|
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
|
18
|
+
requirements:
|
|
19
|
+
- - "~>"
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: 4.0.0
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
requirements:
|
|
26
|
+
- - "~>"
|
|
27
|
+
- !ruby/object:Gem::Version
|
|
28
|
+
version: 4.0.0
|
|
15
29
|
- !ruby/object:Gem::Dependency
|
|
16
30
|
name: yard
|
|
17
31
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -32,14 +46,28 @@ dependencies:
|
|
|
32
46
|
requirements:
|
|
33
47
|
- - "~>"
|
|
34
48
|
- !ruby/object:Gem::Version
|
|
35
|
-
version:
|
|
49
|
+
version: '3.3'
|
|
50
|
+
type: :development
|
|
51
|
+
prerelease: false
|
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
53
|
+
requirements:
|
|
54
|
+
- - "~>"
|
|
55
|
+
- !ruby/object:Gem::Version
|
|
56
|
+
version: '3.3'
|
|
57
|
+
- !ruby/object:Gem::Dependency
|
|
58
|
+
name: nokogiri
|
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
|
60
|
+
requirements:
|
|
61
|
+
- - "~>"
|
|
62
|
+
- !ruby/object:Gem::Version
|
|
63
|
+
version: 1.6.0
|
|
36
64
|
type: :development
|
|
37
65
|
prerelease: false
|
|
38
66
|
version_requirements: !ruby/object:Gem::Requirement
|
|
39
67
|
requirements:
|
|
40
68
|
- - "~>"
|
|
41
69
|
- !ruby/object:Gem::Version
|
|
42
|
-
version:
|
|
70
|
+
version: 1.6.0
|
|
43
71
|
- !ruby/object:Gem::Dependency
|
|
44
72
|
name: minitest
|
|
45
73
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -55,6 +83,8 @@ dependencies:
|
|
|
55
83
|
- !ruby/object:Gem::Version
|
|
56
84
|
version: '5'
|
|
57
85
|
description: |2
|
|
86
|
+
Ruby Sass is deprecated! See https://sass-lang.com/ruby-sass for details.
|
|
87
|
+
|
|
58
88
|
Sass makes CSS fun again. Sass is an extension of CSS, adding
|
|
59
89
|
nested rules, variables, mixins, selector inheritance, and more.
|
|
60
90
|
It's translated to well-formatted, standard CSS using the
|
|
@@ -73,7 +103,6 @@ files:
|
|
|
73
103
|
- MIT-LICENSE
|
|
74
104
|
- README.md
|
|
75
105
|
- REVISION
|
|
76
|
-
- Rakefile
|
|
77
106
|
- VERSION
|
|
78
107
|
- VERSION_DATE
|
|
79
108
|
- VERSION_NAME
|
|
@@ -124,7 +153,6 @@ files:
|
|
|
124
153
|
- lib/sass/script.rb
|
|
125
154
|
- lib/sass/script/css_lexer.rb
|
|
126
155
|
- lib/sass/script/css_parser.rb
|
|
127
|
-
- lib/sass/script/css_variable_warning.rb
|
|
128
156
|
- lib/sass/script/functions.rb
|
|
129
157
|
- lib/sass/script/lexer.rb
|
|
130
158
|
- lib/sass/script/parser.rb
|
|
@@ -144,7 +172,9 @@ files:
|
|
|
144
172
|
- lib/sass/script/value/arg_list.rb
|
|
145
173
|
- lib/sass/script/value/base.rb
|
|
146
174
|
- lib/sass/script/value/bool.rb
|
|
175
|
+
- lib/sass/script/value/callable.rb
|
|
147
176
|
- lib/sass/script/value/color.rb
|
|
177
|
+
- lib/sass/script/value/function.rb
|
|
148
178
|
- lib/sass/script/value/helpers.rb
|
|
149
179
|
- lib/sass/script/value/list.rb
|
|
150
180
|
- lib/sass/script/value/map.rb
|
|
@@ -207,181 +237,30 @@ files:
|
|
|
207
237
|
- lib/sass/tree/warn_node.rb
|
|
208
238
|
- lib/sass/tree/while_node.rb
|
|
209
239
|
- lib/sass/util.rb
|
|
210
|
-
- lib/sass/util/cross_platform_random.rb
|
|
211
240
|
- lib/sass/util/multibyte_string_scanner.rb
|
|
212
241
|
- lib/sass/util/normalized_map.rb
|
|
213
|
-
- lib/sass/util/ordered_hash.rb
|
|
214
242
|
- lib/sass/util/subset_map.rb
|
|
215
243
|
- lib/sass/util/test.rb
|
|
216
244
|
- lib/sass/version.rb
|
|
217
245
|
- rails/init.rb
|
|
218
|
-
|
|
219
|
-
- test/sass/cache_test.rb
|
|
220
|
-
- test/sass/callbacks_test.rb
|
|
221
|
-
- test/sass/compiler_test.rb
|
|
222
|
-
- test/sass/conversion_test.rb
|
|
223
|
-
- test/sass/css2sass_test.rb
|
|
224
|
-
- test/sass/css_variable_test.rb
|
|
225
|
-
- test/sass/data/hsl-rgb.txt
|
|
226
|
-
- test/sass/encoding_test.rb
|
|
227
|
-
- test/sass/engine_test.rb
|
|
228
|
-
- test/sass/exec_test.rb
|
|
229
|
-
- test/sass/extend_test.rb
|
|
230
|
-
- test/sass/fixtures/test_staleness_check_across_importers.css
|
|
231
|
-
- test/sass/fixtures/test_staleness_check_across_importers.scss
|
|
232
|
-
- test/sass/functions_test.rb
|
|
233
|
-
- test/sass/importer_test.rb
|
|
234
|
-
- test/sass/logger_test.rb
|
|
235
|
-
- test/sass/mock_importer.rb
|
|
236
|
-
- test/sass/more_results/more1.css
|
|
237
|
-
- test/sass/more_results/more1_with_line_comments.css
|
|
238
|
-
- test/sass/more_results/more_import.css
|
|
239
|
-
- test/sass/more_templates/_more_partial.sass
|
|
240
|
-
- test/sass/more_templates/more1.sass
|
|
241
|
-
- test/sass/more_templates/more_import.sass
|
|
242
|
-
- test/sass/plugin_test.rb
|
|
243
|
-
- test/sass/results/alt.css
|
|
244
|
-
- test/sass/results/basic.css
|
|
245
|
-
- test/sass/results/cached_import_option.css
|
|
246
|
-
- test/sass/results/compact.css
|
|
247
|
-
- test/sass/results/complex.css
|
|
248
|
-
- test/sass/results/compressed.css
|
|
249
|
-
- test/sass/results/expanded.css
|
|
250
|
-
- test/sass/results/filename_fn.css
|
|
251
|
-
- test/sass/results/if.css
|
|
252
|
-
- test/sass/results/import.css
|
|
253
|
-
- test/sass/results/import_charset.css
|
|
254
|
-
- test/sass/results/import_charset_1_8.css
|
|
255
|
-
- test/sass/results/import_charset_ibm866.css
|
|
256
|
-
- test/sass/results/import_content.css
|
|
257
|
-
- test/sass/results/line_numbers.css
|
|
258
|
-
- test/sass/results/mixins.css
|
|
259
|
-
- test/sass/results/multiline.css
|
|
260
|
-
- test/sass/results/nested.css
|
|
261
|
-
- test/sass/results/options.css
|
|
262
|
-
- test/sass/results/parent_ref.css
|
|
263
|
-
- test/sass/results/script.css
|
|
264
|
-
- test/sass/results/scss_import.css
|
|
265
|
-
- test/sass/results/scss_importee.css
|
|
266
|
-
- test/sass/results/subdir/nested_subdir/nested_subdir.css
|
|
267
|
-
- test/sass/results/subdir/subdir.css
|
|
268
|
-
- test/sass/results/units.css
|
|
269
|
-
- test/sass/results/warn.css
|
|
270
|
-
- test/sass/results/warn_imported.css
|
|
271
|
-
- test/sass/script_conversion_test.rb
|
|
272
|
-
- test/sass/script_test.rb
|
|
273
|
-
- test/sass/scss/css_test.rb
|
|
274
|
-
- test/sass/scss/rx_test.rb
|
|
275
|
-
- test/sass/scss/scss_test.rb
|
|
276
|
-
- test/sass/scss/test_helper.rb
|
|
277
|
-
- test/sass/source_map_test.rb
|
|
278
|
-
- test/sass/superselector_test.rb
|
|
279
|
-
- test/sass/templates/_cached_import_option_partial.scss
|
|
280
|
-
- test/sass/templates/_double_import_loop2.sass
|
|
281
|
-
- test/sass/templates/_filename_fn_import.scss
|
|
282
|
-
- test/sass/templates/_imported_charset_ibm866.sass
|
|
283
|
-
- test/sass/templates/_imported_charset_utf8.sass
|
|
284
|
-
- test/sass/templates/_imported_content.sass
|
|
285
|
-
- test/sass/templates/_partial.sass
|
|
286
|
-
- test/sass/templates/_same_name_different_partiality.scss
|
|
287
|
-
- test/sass/templates/alt.sass
|
|
288
|
-
- test/sass/templates/basic.sass
|
|
289
|
-
- test/sass/templates/bork1.sass
|
|
290
|
-
- test/sass/templates/bork2.sass
|
|
291
|
-
- test/sass/templates/bork3.sass
|
|
292
|
-
- test/sass/templates/bork4.sass
|
|
293
|
-
- test/sass/templates/bork5.sass
|
|
294
|
-
- test/sass/templates/cached_import_option.scss
|
|
295
|
-
- test/sass/templates/compact.sass
|
|
296
|
-
- test/sass/templates/complex.sass
|
|
297
|
-
- test/sass/templates/compressed.sass
|
|
298
|
-
- test/sass/templates/double_import_loop1.sass
|
|
299
|
-
- test/sass/templates/expanded.sass
|
|
300
|
-
- test/sass/templates/filename_fn.scss
|
|
301
|
-
- test/sass/templates/if.sass
|
|
302
|
-
- test/sass/templates/import.sass
|
|
303
|
-
- test/sass/templates/import_charset.sass
|
|
304
|
-
- test/sass/templates/import_charset_1_8.sass
|
|
305
|
-
- test/sass/templates/import_charset_ibm866.sass
|
|
306
|
-
- test/sass/templates/import_content.sass
|
|
307
|
-
- test/sass/templates/importee.less
|
|
308
|
-
- test/sass/templates/importee.sass
|
|
309
|
-
- test/sass/templates/line_numbers.sass
|
|
310
|
-
- test/sass/templates/mixin_bork.sass
|
|
311
|
-
- test/sass/templates/mixins.sass
|
|
312
|
-
- test/sass/templates/multiline.sass
|
|
313
|
-
- test/sass/templates/nested.sass
|
|
314
|
-
- test/sass/templates/nested_bork1.sass
|
|
315
|
-
- test/sass/templates/nested_bork2.sass
|
|
316
|
-
- test/sass/templates/nested_bork3.sass
|
|
317
|
-
- test/sass/templates/nested_bork4.sass
|
|
318
|
-
- test/sass/templates/nested_import.sass
|
|
319
|
-
- test/sass/templates/nested_mixin_bork.sass
|
|
320
|
-
- test/sass/templates/options.sass
|
|
321
|
-
- test/sass/templates/parent_ref.sass
|
|
322
|
-
- test/sass/templates/same_name_different_ext.sass
|
|
323
|
-
- test/sass/templates/same_name_different_ext.scss
|
|
324
|
-
- test/sass/templates/same_name_different_partiality.scss
|
|
325
|
-
- test/sass/templates/script.sass
|
|
326
|
-
- test/sass/templates/scss_import.scss
|
|
327
|
-
- test/sass/templates/scss_importee.scss
|
|
328
|
-
- test/sass/templates/single_import_loop.sass
|
|
329
|
-
- test/sass/templates/subdir/import_up1.scss
|
|
330
|
-
- test/sass/templates/subdir/import_up2.scss
|
|
331
|
-
- test/sass/templates/subdir/nested_subdir/_nested_partial.sass
|
|
332
|
-
- test/sass/templates/subdir/nested_subdir/nested_subdir.sass
|
|
333
|
-
- test/sass/templates/subdir/subdir.sass
|
|
334
|
-
- test/sass/templates/units.sass
|
|
335
|
-
- test/sass/templates/warn.sass
|
|
336
|
-
- test/sass/templates/warn_imported.sass
|
|
337
|
-
- test/sass/test_helper.rb
|
|
338
|
-
- test/sass/util/multibyte_string_scanner_test.rb
|
|
339
|
-
- test/sass/util/normalized_map_test.rb
|
|
340
|
-
- test/sass/util/subset_map_test.rb
|
|
341
|
-
- test/sass/util_test.rb
|
|
342
|
-
- test/sass/value_helpers_test.rb
|
|
343
|
-
- test/test_helper.rb
|
|
344
|
-
- vendor/listen/CHANGELOG.md
|
|
345
|
-
- vendor/listen/CONTRIBUTING.md
|
|
346
|
-
- vendor/listen/Gemfile
|
|
347
|
-
- vendor/listen/Guardfile
|
|
348
|
-
- vendor/listen/LICENSE
|
|
349
|
-
- vendor/listen/README.md
|
|
350
|
-
- vendor/listen/Rakefile
|
|
351
|
-
- vendor/listen/Vagrantfile
|
|
352
|
-
- vendor/listen/lib/listen.rb
|
|
353
|
-
- vendor/listen/lib/listen/adapter.rb
|
|
354
|
-
- vendor/listen/lib/listen/adapters/bsd.rb
|
|
355
|
-
- vendor/listen/lib/listen/adapters/darwin.rb
|
|
356
|
-
- vendor/listen/lib/listen/adapters/linux.rb
|
|
357
|
-
- vendor/listen/lib/listen/adapters/polling.rb
|
|
358
|
-
- vendor/listen/lib/listen/adapters/windows.rb
|
|
359
|
-
- vendor/listen/lib/listen/directory_record.rb
|
|
360
|
-
- vendor/listen/lib/listen/listener.rb
|
|
361
|
-
- vendor/listen/lib/listen/turnstile.rb
|
|
362
|
-
- vendor/listen/lib/listen/version.rb
|
|
363
|
-
- vendor/listen/listen.gemspec
|
|
364
|
-
- vendor/listen/spec/listen/adapter_spec.rb
|
|
365
|
-
- vendor/listen/spec/listen/adapters/bsd_spec.rb
|
|
366
|
-
- vendor/listen/spec/listen/adapters/darwin_spec.rb
|
|
367
|
-
- vendor/listen/spec/listen/adapters/linux_spec.rb
|
|
368
|
-
- vendor/listen/spec/listen/adapters/polling_spec.rb
|
|
369
|
-
- vendor/listen/spec/listen/adapters/windows_spec.rb
|
|
370
|
-
- vendor/listen/spec/listen/directory_record_spec.rb
|
|
371
|
-
- vendor/listen/spec/listen/listener_spec.rb
|
|
372
|
-
- vendor/listen/spec/listen/turnstile_spec.rb
|
|
373
|
-
- vendor/listen/spec/listen_spec.rb
|
|
374
|
-
- vendor/listen/spec/spec_helper.rb
|
|
375
|
-
- vendor/listen/spec/support/adapter_helper.rb
|
|
376
|
-
- vendor/listen/spec/support/directory_record_helper.rb
|
|
377
|
-
- vendor/listen/spec/support/fixtures_helper.rb
|
|
378
|
-
- vendor/listen/spec/support/listeners_helper.rb
|
|
379
|
-
- vendor/listen/spec/support/platform_helper.rb
|
|
380
|
-
homepage: http://sass-lang.com/
|
|
246
|
+
homepage: https://sass-lang.com/
|
|
381
247
|
licenses:
|
|
382
248
|
- MIT
|
|
383
|
-
metadata:
|
|
384
|
-
|
|
249
|
+
metadata:
|
|
250
|
+
source_code_uri: https://github.com/sass/ruby-sass
|
|
251
|
+
post_install_message: |2+
|
|
252
|
+
|
|
253
|
+
Ruby Sass has reached end-of-life and should no longer be used.
|
|
254
|
+
|
|
255
|
+
* If you use Sass as a command-line tool, we recommend using Dart Sass, the new
|
|
256
|
+
primary implementation: https://sass-lang.com/install
|
|
257
|
+
|
|
258
|
+
* If you use Sass as a plug-in for a Ruby web framework, we recommend using the
|
|
259
|
+
sassc gem: https://github.com/sass/sassc-ruby#readme
|
|
260
|
+
|
|
261
|
+
* For more details, please refer to the Sass blog:
|
|
262
|
+
https://sass-lang.com/blog/posts/7828841
|
|
263
|
+
|
|
385
264
|
rdoc_options: []
|
|
386
265
|
require_paths:
|
|
387
266
|
- lib
|
|
@@ -389,7 +268,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
389
268
|
requirements:
|
|
390
269
|
- - ">="
|
|
391
270
|
- !ruby/object:Gem::Version
|
|
392
|
-
version:
|
|
271
|
+
version: 2.0.0
|
|
393
272
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
394
273
|
requirements:
|
|
395
274
|
- - ">="
|
|
@@ -397,34 +276,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
397
276
|
version: '0'
|
|
398
277
|
requirements: []
|
|
399
278
|
rubyforge_project: sass
|
|
400
|
-
rubygems_version: 2.
|
|
279
|
+
rubygems_version: 2.6.14
|
|
401
280
|
signing_key:
|
|
402
281
|
specification_version: 4
|
|
403
282
|
summary: A powerful but elegant CSS compiler that makes CSS fun again.
|
|
404
|
-
test_files:
|
|
405
|
-
- test/sass/extend_test.rb
|
|
406
|
-
- test/sass/css2sass_test.rb
|
|
407
|
-
- test/sass/util_test.rb
|
|
408
|
-
- test/sass/superselector_test.rb
|
|
409
|
-
- test/sass/value_helpers_test.rb
|
|
410
|
-
- test/sass/plugin_test.rb
|
|
411
|
-
- test/sass/logger_test.rb
|
|
412
|
-
- test/sass/functions_test.rb
|
|
413
|
-
- test/sass/conversion_test.rb
|
|
414
|
-
- test/sass/source_map_test.rb
|
|
415
|
-
- test/sass/cache_test.rb
|
|
416
|
-
- test/sass/encoding_test.rb
|
|
417
|
-
- test/sass/script_test.rb
|
|
418
|
-
- test/sass/callbacks_test.rb
|
|
419
|
-
- test/sass/script_conversion_test.rb
|
|
420
|
-
- test/sass/scss/css_test.rb
|
|
421
|
-
- test/sass/scss/rx_test.rb
|
|
422
|
-
- test/sass/scss/scss_test.rb
|
|
423
|
-
- test/sass/exec_test.rb
|
|
424
|
-
- test/sass/importer_test.rb
|
|
425
|
-
- test/sass/engine_test.rb
|
|
426
|
-
- test/sass/css_variable_test.rb
|
|
427
|
-
- test/sass/compiler_test.rb
|
|
428
|
-
- test/sass/util/subset_map_test.rb
|
|
429
|
-
- test/sass/util/normalized_map_test.rb
|
|
430
|
-
- test/sass/util/multibyte_string_scanner_test.rb
|
|
283
|
+
test_files: []
|