blob: 6489d7b6c3e1179bea8e26b7966c6c1303bbe844 [file] [log] [blame]
"use strict";
const atRuleParamIndex = require("../utils/atRuleParamIndex");
const report = require("../utils/report");
const styleSearch = require("style-search");
module.exports = function(opts) {
opts.root.walkAtRules(/^media$/i, atRule => {
const params = atRule.raws.params ? atRule.raws.params.raw : atRule.params;
styleSearch({ source: params, target: ":" }, match => {
checkColon(params, match.startIndex, atRule);
});
});
function checkColon(source, index, node) {
opts.locationChecker({
source,
index,
err: m => {
const colonIndex = index + atRuleParamIndex(node);
if (opts.fix && opts.fix(node, colonIndex)) {
return;
}
report({
message: m,
node,
index: colonIndex,
result: opts.result,
ruleName: opts.checkedRuleName
});
}
});
}
};