mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-09-22 05:40:48 +02:00
Handle mixed case for config keys.
This commit is contained in:
parent
c98660c492
commit
071bba88fc
2 changed files with 77 additions and 9 deletions
|
@ -7,15 +7,16 @@ var shared = require("./shared");
|
|||
|
||||
// Mappings from rule to description and tag to rules
|
||||
var ruleToDescription = {};
|
||||
var tagToRules = {};
|
||||
var tagUpperToRules = {};
|
||||
rules.forEach(function forRule(rule) {
|
||||
ruleToDescription[rule.name] = rule.desc;
|
||||
// The following is useful for updating README.md
|
||||
// console.log("* **" + rule.name + "** - " + rule.desc);
|
||||
rule.tags.forEach(function forTag(tag) {
|
||||
var tags = tagToRules[tag] || [];
|
||||
var tagUpper = tag.toUpperCase();
|
||||
var tags = tagUpperToRules[tagUpper] || [];
|
||||
tags.push(rule.name);
|
||||
tagToRules[tag] = tags;
|
||||
tagUpperToRules[tagUpper] = tags;
|
||||
});
|
||||
});
|
||||
// The following is useful for updating README.md
|
||||
|
@ -99,8 +100,11 @@ function lintContent(content, config, frontMatter) {
|
|||
"lines": lines
|
||||
};
|
||||
// Merge rules/tags and sanitize config
|
||||
var defaultKey = Object.keys(config).filter(function forKey(key) {
|
||||
return key.toUpperCase() === "DEFAULT";
|
||||
});
|
||||
var ruleDefault = (defaultKey.length === 0) || !!config[defaultKey[0]];
|
||||
var mergedRules = {};
|
||||
var ruleDefault = (config.default === undefined) || !!config.default;
|
||||
rules.forEach(function forRule(rule) {
|
||||
mergedRules[rule.name] = ruleDefault;
|
||||
});
|
||||
|
@ -113,11 +117,12 @@ function lintContent(content, config, frontMatter) {
|
|||
} else {
|
||||
value = false;
|
||||
}
|
||||
if (ruleToDescription[key]) {
|
||||
mergedRules[key] = value;
|
||||
} else if (tagToRules[key]) {
|
||||
tagToRules[key].forEach(function forRule(rule) {
|
||||
mergedRules[rule] = value;
|
||||
var keyUpper = key.toUpperCase();
|
||||
if (ruleToDescription[keyUpper]) {
|
||||
mergedRules[keyUpper] = value;
|
||||
} else if (tagUpperToRules[keyUpper]) {
|
||||
tagUpperToRules[keyUpper].forEach(function forRule(ruleName) {
|
||||
mergedRules[ruleName] = value;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue