sass-lint
Version:
All Node Sass linter!
39 lines (31 loc) • 987 B
JavaScript
;
var helpers = require('../helpers');
module.exports = {
'name': 'no-trailing-whitespace',
'defaults': {},
'detect': function (ast, parser) {
var result = [];
var trailing = (/( |\t)+\n/);
var trailingCRLF = (/( |\t)+\r\n/);
ast.traverseByType('space', function (space, i, parent) {
var content = space.content;
var nextIndex = i + 1;
var next = parent.content[nextIndex];
while (next && (next.is('space') || next.is('declarationDelimiter'))) {
content += next.content;
nextIndex++;
next = parent.content[nextIndex];
}
if (trailing.test(content) || trailingCRLF.test(content)) {
result = helpers.addUnique(result, {
'ruleId': parser.rule.name,
'severity': parser.severity,
'line': space.start.line,
'column': space.start.column,
'message': 'No trailing whitespace allowed'
});
}
});
return result;
}
};