mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-16 22:10:13 +01:00
Add support and tests for tags, migrate style files.
This commit is contained in:
parent
0bd6dea637
commit
139e474a12
5 changed files with 215 additions and 7 deletions
|
|
@ -78,14 +78,35 @@ function lintFile(file, config, callback) {
|
|||
"tokens": tokens,
|
||||
"lines": lines
|
||||
};
|
||||
var result = {};
|
||||
var defaultRule = (config.default !== undefined) && !!config.default;
|
||||
// Run each rule
|
||||
// Merge rules/tags and sanitize config
|
||||
var mergedRules = {};
|
||||
var ruleDefault = (config.default !== undefined) && !!config.default;
|
||||
rules.forEach(function forRule(rule) {
|
||||
var ruleConfig = config[rule.name];
|
||||
if (ruleConfig || (defaultRule && (ruleConfig === undefined))) {
|
||||
// Pass rule-specific options
|
||||
params.options = (ruleConfig instanceof Object) ? ruleConfig : {};
|
||||
mergedRules[rule.name] = ruleDefault;
|
||||
});
|
||||
Object.keys(config).forEach(function forKey(key) {
|
||||
var value = config[key];
|
||||
if (value) {
|
||||
if (!(value instanceof Object)) {
|
||||
value = {};
|
||||
}
|
||||
} else {
|
||||
value = false;
|
||||
}
|
||||
if (ruleToDescription[key]) {
|
||||
mergedRules[key] = value;
|
||||
} else if (tagToRules[key]) {
|
||||
tagToRules[key].forEach(function forRule(rule) {
|
||||
mergedRules[rule] = value;
|
||||
});
|
||||
}
|
||||
});
|
||||
// Run each enabled rule
|
||||
var result = {};
|
||||
rules.forEach(function forRule(rule) {
|
||||
if (mergedRules[rule.name]) {
|
||||
// Configure rule
|
||||
params.options = mergedRules[rule.name];
|
||||
var errors = [];
|
||||
rule.func(params, errors);
|
||||
// Record any errors
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue