mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2026-02-19 03:28:06 +01:00
wip
This commit is contained in:
parent
996c0f6b27
commit
b3564ea841
12 changed files with 1606 additions and 64 deletions
|
|
@ -276,6 +276,7 @@ function getEffectiveConfig(ruleList, config, aliasToRuleNames) {
|
|||
// effectiveConfig[ruleName] = false;
|
||||
// }
|
||||
for (const key of Object.keys(config)) {
|
||||
const keyUpper = key.toUpperCase();
|
||||
let value = config[key];
|
||||
if (value) {
|
||||
if (value instanceof Object) {
|
||||
|
|
@ -284,20 +285,27 @@ function getEffectiveConfig(ruleList, config, aliasToRuleNames) {
|
|||
if (severity === "off") {
|
||||
value = false;
|
||||
} else {
|
||||
if (severity === "warning") {
|
||||
ruleSeverities.set(key.toUpperCase(), "warning");
|
||||
} else {
|
||||
ruleSeverities.set(key.toUpperCase(), "error");
|
||||
for (const ruleName of (aliasToRuleNames[keyUpper] || [])) {
|
||||
if (severity === "warning") {
|
||||
ruleSeverities.set(ruleName, "warning");
|
||||
} else {
|
||||
ruleSeverities.set(ruleName, "error");
|
||||
}
|
||||
}
|
||||
value = Object.fromEntries(Object.entries(value).filter(([ k ]) => k !== "severity"));
|
||||
}
|
||||
} else {
|
||||
if (value === "warning") {
|
||||
for (const ruleName of (aliasToRuleNames[keyUpper] || [])) {
|
||||
ruleSeverities.set(ruleName, "warning");
|
||||
}
|
||||
}
|
||||
value = {};
|
||||
}
|
||||
} else {
|
||||
value = false;
|
||||
}
|
||||
for (const ruleName of (aliasToRuleNames[key.toUpperCase()] || [])) {
|
||||
for (const ruleName of (aliasToRuleNames[keyUpper] || [])) {
|
||||
effectiveConfig[ruleName] = value;
|
||||
}
|
||||
}
|
||||
|
|
@ -314,6 +322,7 @@ function getEffectiveConfig(ruleList, config, aliasToRuleNames) {
|
|||
* @property {Configuration} effectiveConfig Effective configuration.
|
||||
* @property {any[]} enabledRulesPerLineNumber Enabled rules per line number.
|
||||
* @property {Rule[]} enabledRuleList Enabled rule list.
|
||||
* @property {Map<string, "error" | "warning" | "off">} ruleSeverities Rule severities
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
@ -428,7 +437,7 @@ function getEnabledRulesPerLineNumber(
|
|||
}
|
||||
// Handle inline comments
|
||||
handleInlineConfig([ lines.join("\n") ], configureFile);
|
||||
const { effectiveConfig } = getEffectiveConfig(ruleList, config, aliasToRuleNames);
|
||||
const { effectiveConfig, ruleSeverities } = getEffectiveConfig(ruleList, config, aliasToRuleNames);
|
||||
for (const rule of ruleList) {
|
||||
const ruleName = rule.names[0].toUpperCase();
|
||||
allRuleNames.push(ruleName);
|
||||
|
|
@ -449,7 +458,8 @@ function getEnabledRulesPerLineNumber(
|
|||
return {
|
||||
effectiveConfig,
|
||||
enabledRulesPerLineNumber,
|
||||
enabledRuleList
|
||||
enabledRuleList,
|
||||
ruleSeverities
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -494,7 +504,7 @@ function lintContent(
|
|||
const { frontMatterLines } = removeFrontMatterResult;
|
||||
content = removeFrontMatterResult.content;
|
||||
// Get enabled rules per line (with HTML comments present)
|
||||
const { effectiveConfig, enabledRulesPerLineNumber, enabledRuleList } =
|
||||
const { effectiveConfig, enabledRulesPerLineNumber, enabledRuleList, ruleSeverities } =
|
||||
getEnabledRulesPerLineNumber(
|
||||
ruleList,
|
||||
content.split(helpers.newLineRe),
|
||||
|
|
@ -668,7 +678,8 @@ function lintContent(
|
|||
"errorContext": errorInfo.context?.replace(helpers.newLineRe, " ") || null,
|
||||
"errorRange": errorInfo.range ? [ ...errorInfo.range ] : null,
|
||||
"fixInfo": fixInfo ? cleanFixInfo : null,
|
||||
"severity": "error"
|
||||
// @ts-ignore
|
||||
"severity": ruleSeverities.get(ruleName)
|
||||
});
|
||||
}
|
||||
// Call (possibly external) rule function to report errors
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue