mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-16 14:00:13 +01:00
Fix MD039/no-space-in-links to handle links within a multi-line paragraph.
This commit is contained in:
parent
1ac2e6c3e8
commit
33cb1a71ec
2 changed files with 17 additions and 1 deletions
|
|
@ -12,7 +12,8 @@ module.exports = {
|
|||
"tags": [ "whitespace", "links" ],
|
||||
"function": function MD039(params, onError) {
|
||||
filterTokens(params, "inline", (token) => {
|
||||
const { line, lineNumber, children } = token;
|
||||
const { children } = token;
|
||||
let { lineNumber } = token;
|
||||
let inLink = false;
|
||||
let linkText = "";
|
||||
let lineIndex = 0;
|
||||
|
|
@ -25,6 +26,7 @@ module.exports = {
|
|||
const left = linkText.trimLeft().length !== linkText.length;
|
||||
const right = linkText.trimRight().length !== linkText.length;
|
||||
if (left || right) {
|
||||
const line = params.lines[lineNumber - 1];
|
||||
const match = line.slice(lineIndex).match(spaceInLinkRe);
|
||||
const column = match.index + lineIndex + 1;
|
||||
const length = match[0].length;
|
||||
|
|
@ -43,6 +45,9 @@ module.exports = {
|
|||
}
|
||||
);
|
||||
}
|
||||
} else if (child.type === "softbreak") {
|
||||
lineNumber++;
|
||||
lineIndex = 0;
|
||||
} else if (inLink) {
|
||||
linkText += child.content;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,3 +30,14 @@
|
|||
|
||||
The following shouldn't break anything:
|
||||
[](/images/Screenshot.png)
|
||||
|
||||
function CodeButNotCode(input) {
|
||||
return input.replace(/[- ]([a-z])/g, "one"); // {MD039}
|
||||
}
|
||||
|
||||
function MoreCodeButNotCode(input) {
|
||||
input = input.replace(/[- ]([a-z])/g, "two"); // {MD039}
|
||||
input = input.toLowerCase();
|
||||
input = input.replace(/[- ]([a-z])/g, "three"); // {MD039}
|
||||
return input;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue