scss_lint 0.43.0 → 0.43.1
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/data/pseudo-elements.txt +92 -0
- data/lib/scss_lint/linter.rb +2 -0
- data/lib/scss_lint/linter/pseudo_element.rb +7 -1
- data/lib/scss_lint/linter/space_after_comma.rb +14 -9
- data/lib/scss_lint/version.rb +1 -1
- data/spec/scss_lint/linter/space_after_comma_spec.rb +12 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13e3b02dea61e5e42cc983459ef0269a92fd4852
|
4
|
+
data.tar.gz: 6c8b99c3ed5d6987e62fbfa386ba865a88fd3a6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fc569e9526be141eddbdaec286d960501c8717b82f09c944cf07721d3681144332706c4236fbbd280e9ea43a402ab66d1b34add10bbf8bfa9f23ad580da7ffb
|
7
|
+
data.tar.gz: 9d900a09921c023a4460dcf37428b5db617858bb35701df3f71aca9267c7e4fddfcb5cf03b3c89dc1f68e304cb533ef74daa25d593dc33830a5b7792c363c857
|
@@ -0,0 +1,92 @@
|
|
1
|
+
-moz-anonymous-block
|
2
|
+
-moz-anonymous-positioned-block
|
3
|
+
-moz-canvas
|
4
|
+
-moz-cell-content
|
5
|
+
-moz-focus-inner
|
6
|
+
-moz-focus-outer
|
7
|
+
-moz-inline-table
|
8
|
+
-moz-page
|
9
|
+
-moz-page-sequence
|
10
|
+
-moz-pagebreak
|
11
|
+
-moz-pagecontent
|
12
|
+
-moz-placeholder
|
13
|
+
-moz-progress-bar
|
14
|
+
-moz-progress-bar
|
15
|
+
-moz-range-thumb
|
16
|
+
-moz-range-track
|
17
|
+
-moz-scrolled-canvas
|
18
|
+
-moz-scrolled-content
|
19
|
+
-moz-scrolled-page-sequence
|
20
|
+
-moz-selection
|
21
|
+
-moz-svg-foreign-content
|
22
|
+
-moz-table
|
23
|
+
-moz-table-cell
|
24
|
+
-moz-table-column
|
25
|
+
-moz-table-column-group
|
26
|
+
-moz-table-outer
|
27
|
+
-moz-table-row
|
28
|
+
-moz-table-row-group
|
29
|
+
-moz-viewport
|
30
|
+
-moz-viewport-scroll
|
31
|
+
-moz-xul-anonymous-block
|
32
|
+
-ms-browse
|
33
|
+
-ms-check
|
34
|
+
-ms-clear
|
35
|
+
-ms-expand
|
36
|
+
-ms-expand
|
37
|
+
-ms-fill
|
38
|
+
-ms-fill-lower
|
39
|
+
-ms-fill-upper
|
40
|
+
-ms-reveal
|
41
|
+
-ms-thumb
|
42
|
+
-ms-ticks-after
|
43
|
+
-ms-ticks-before
|
44
|
+
-ms-tooltip
|
45
|
+
-ms-track
|
46
|
+
-ms-value
|
47
|
+
-webkit-calendar-picker-indicator
|
48
|
+
-webkit-color-swatch
|
49
|
+
-webkit-color-swatch-wrapper
|
50
|
+
-webkit-datetime-edit
|
51
|
+
-webkit-datetime-edit-day-field
|
52
|
+
-webkit-datetime-edit-fields-wrapper
|
53
|
+
-webkit-datetime-edit-month-field
|
54
|
+
-webkit-datetime-edit-text
|
55
|
+
-webkit-datetime-edit-year-field
|
56
|
+
-webkit-file-upload-button
|
57
|
+
-webkit-inner-spin-button
|
58
|
+
-webkit-input-placeholder
|
59
|
+
-webkit-keygen-select
|
60
|
+
-webkit-meter-bar
|
61
|
+
-webkit-meter-even-less-good-value
|
62
|
+
-webkit-meter-optimum-value
|
63
|
+
-webkit-meter-suboptimum-value
|
64
|
+
-webkit-outer-spin-button
|
65
|
+
-webkit-progress-bar
|
66
|
+
-webkit-progress-inner-element
|
67
|
+
-webkit-progress-value
|
68
|
+
-webkit-resizer
|
69
|
+
-webkit-scrollbar
|
70
|
+
-webkit-scrollbar-button
|
71
|
+
-webkit-scrollbar-corner
|
72
|
+
-webkit-scrollbar-thumb
|
73
|
+
-webkit-scrollbar-track
|
74
|
+
-webkit-scrollbar-track-piece
|
75
|
+
-webkit-search-cancel-button
|
76
|
+
-webkit-search-results-button
|
77
|
+
-webkit-slider-runnable-track
|
78
|
+
-webkit-slider-thumb
|
79
|
+
-webkit-textfield-decoration-container
|
80
|
+
-webkit-validation-bubble
|
81
|
+
-webkit-validation-bubble-arrow
|
82
|
+
-webkit-validation-bubble-arrow-clipper
|
83
|
+
-webkit-validation-bubble-heading
|
84
|
+
-webkit-validation-bubble-message
|
85
|
+
-webkit-validation-bubble-text-block
|
86
|
+
after
|
87
|
+
backdrop
|
88
|
+
before
|
89
|
+
first-letter
|
90
|
+
first-line
|
91
|
+
placeholder
|
92
|
+
selection
|
data/lib/scss_lint/linter.rb
CHANGED
@@ -3,7 +3,13 @@ module SCSSLint
|
|
3
3
|
class Linter::PseudoElement < Linter
|
4
4
|
include LinterRegistry
|
5
5
|
|
6
|
-
|
6
|
+
# https://msdn.microsoft.com/en-us/library/windows/apps/hh767361.aspx
|
7
|
+
# https://developer.mozilla.org/en-US/docs/Web/CSS/Mozilla_Extensions
|
8
|
+
# http://tjvantoll.com/2013/04/15/list-of-pseudo-elements-to-style-form-controls/
|
9
|
+
PSEUDO_ELEMENTS = File.open(File.join(SCSS_LINT_DATA, 'pseudo-elements.txt'))
|
10
|
+
.read
|
11
|
+
.split
|
12
|
+
.to_set
|
7
13
|
|
8
14
|
def visit_pseudo(pseudo)
|
9
15
|
if PSEUDO_ELEMENTS.include?(pseudo.name)
|
@@ -78,19 +78,18 @@ module SCSSLint
|
|
78
78
|
# Sometimes the line we're looking at doesn't even contain a comma!
|
79
79
|
next unless engine.lines[arg.line - 1].include?(',')
|
80
80
|
|
81
|
-
|
81
|
+
comma_position = find_comma_position(arg)
|
82
82
|
|
83
83
|
# Check for space or newline after comma (we allow arguments to be split
|
84
84
|
# up over multiple lines).
|
85
85
|
spaces = 0
|
86
|
-
while (char = character_at(
|
86
|
+
while (char = character_at(comma_position, spaces + 1)) == ' '
|
87
87
|
spaces += 1
|
88
|
-
offset += 1
|
89
88
|
end
|
90
89
|
next if char == "\n" || # Ignore trailing spaces
|
91
90
|
valid_spaces_after_comma?(spaces)
|
92
91
|
|
93
|
-
add_lint
|
92
|
+
add_lint comma_position, "Commas in #{arg_type} should be followed by a single space"
|
94
93
|
end
|
95
94
|
end
|
96
95
|
|
@@ -100,20 +99,26 @@ module SCSSLint
|
|
100
99
|
# source range. Thus we need to start at the indicated range, and check
|
101
100
|
# left and right of that range, gradually moving further outward until
|
102
101
|
# we find the comma.
|
103
|
-
def
|
102
|
+
def find_comma_position(arg) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity
|
104
103
|
offset = 0
|
104
|
+
pos = arg.source_range.end_pos
|
105
105
|
|
106
|
-
if character_at(
|
106
|
+
if character_at(pos, offset) != ','
|
107
107
|
loop do
|
108
108
|
offset += 1
|
109
|
-
break if character_at(
|
109
|
+
break if (right_char = character_at(pos, offset)) == ','
|
110
110
|
offset = -offset
|
111
|
-
break if character_at(
|
111
|
+
break if (left_char = character_at(pos, offset)) == ','
|
112
112
|
offset = -offset
|
113
|
+
|
114
|
+
next unless right_char.nil? && left_char.nil?
|
115
|
+
offset = 0
|
116
|
+
pos = Sass::Source::Position.new(pos.line + 1, 1)
|
117
|
+
break if character_at(pos, offset) == ','
|
113
118
|
end
|
114
119
|
end
|
115
120
|
|
116
|
-
offset
|
121
|
+
Sass::Source::Position.new(pos.line, pos.offset + offset)
|
117
122
|
end
|
118
123
|
end
|
119
124
|
end
|
data/lib/scss_lint/version.rb
CHANGED
@@ -334,6 +334,18 @@ describe SCSSLint::Linter::SpaceAfterComma do
|
|
334
334
|
it { should_not report_lint }
|
335
335
|
end
|
336
336
|
end
|
337
|
+
|
338
|
+
context 'when map literal spans multiple lines' do
|
339
|
+
let(:scss) { <<-SCSS }
|
340
|
+
@include mixin('arg1', (
|
341
|
+
key1: 'arg2-key1-value',
|
342
|
+
key2: 'arg2-key2-value'
|
343
|
+
),$arg3: 'arg3-value', $arg4: 'arg4-value'
|
344
|
+
);
|
345
|
+
SCSS
|
346
|
+
|
347
|
+
it { should report_lint line: 4 }
|
348
|
+
end
|
337
349
|
end
|
338
350
|
|
339
351
|
context 'when more than one space is preferred' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scss_lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.43.
|
4
|
+
version: 0.43.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brigade Engineering
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-12-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rainbow
|
@@ -71,6 +71,7 @@ files:
|
|
71
71
|
- data/property-sort-orders/concentric.txt
|
72
72
|
- data/property-sort-orders/recess.txt
|
73
73
|
- data/property-sort-orders/smacss.txt
|
74
|
+
- data/pseudo-elements.txt
|
74
75
|
- lib/scss_lint.rb
|
75
76
|
- lib/scss_lint/cli.rb
|
76
77
|
- lib/scss_lint/config.rb
|