Skip to content

Commit ca0690b

Browse files
authored
Merge pull request #1129 from sasstools/feature/Fix-atrules-space-colon
fix at-root space after colon
2 parents a214c4f + 94ad31e commit ca0690b

File tree

4 files changed

+45
-24
lines changed

4 files changed

+45
-24
lines changed

lib/rules/space-after-colon.js

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,30 @@ module.exports = {
1111
var result = [];
1212

1313
ast.traverseByTypes(['propertyDelimiter', 'operator'], function (delimiter, i, parent) {
14-
if (delimiter.content === ':') {
15-
var next = parent.content[i + 1];
16-
17-
if (next && next.is('space')) {
18-
if (!parser.options.include) {
19-
result = helpers.addUnique(result, {
20-
'ruleId': parser.rule.name,
21-
'line': next.start.line,
22-
'column': next.start.column,
23-
'message': 'No space allowed after `:`',
24-
'severity': parser.severity
25-
});
14+
if (!parent.is('atrule')) {
15+
if (delimiter.content === ':') {
16+
var next = parent.content[i + 1];
17+
if (next && next.is('space')) {
18+
if (!parser.options.include) {
19+
result = helpers.addUnique(result, {
20+
'ruleId': parser.rule.name,
21+
'line': next.start.line,
22+
'column': next.start.column,
23+
'message': 'No space allowed after `:`',
24+
'severity': parser.severity
25+
});
26+
}
2627
}
27-
}
28-
else {
29-
if (parser.options.include) {
30-
result = helpers.addUnique(result, {
31-
'ruleId': parser.rule.name,
32-
'line': delimiter.start.line,
33-
'column': delimiter.start.column,
34-
'message': 'Space expected after `:`',
35-
'severity': parser.severity
36-
});
28+
else {
29+
if (parser.options.include) {
30+
result = helpers.addUnique(result, {
31+
'ruleId': parser.rule.name,
32+
'line': delimiter.start.line,
33+
'column': delimiter.start.column,
34+
'message': 'Space expected after `:`',
35+
'severity': parser.severity
36+
});
37+
}
3738
}
3839
}
3940
}

tests/rules/space-after-colon.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ describe('space after colon - scss', function () {
1212
lint.test(file, {
1313
'space-after-colon': 1
1414
}, function (data) {
15-
lint.assert.equal(3, data.warningCount);
15+
lint.assert.equal(4, data.warningCount);
1616
done();
1717
});
1818
});
@@ -26,7 +26,7 @@ describe('space after colon - scss', function () {
2626
}
2727
]
2828
}, function (data) {
29-
lint.assert.equal(4, data.warningCount);
29+
lint.assert.equal(6, data.warningCount);
3030
done();
3131
});
3232
});

tests/sass/space-after-colon.sass

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,9 @@
1414

1515
$qux: 'qux'
1616
$norf:'norf'
17+
18+
.foo
19+
@at-root button#{&}:hover
20+
21+
.foo:hover
22+
+test

tests/sass/space-after-colon.scss

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,17 @@
1414

1515
$qux: 'qux';
1616
$norf:'norf';
17+
18+
.foo {
19+
@at-root button#{&}:hover {
20+
}
21+
}
22+
23+
.foo:hover {
24+
@include test;
25+
}
26+
27+
$map: {
28+
test:'red',
29+
other: blue,
30+
}

0 commit comments

Comments
 (0)