mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-17 06:20:12 +01:00
Refactor MD037/no-space-in-emphasis slightly to simplify.
This commit is contained in:
parent
86a72a05fa
commit
84e664e86e
2 changed files with 60 additions and 66 deletions
|
|
@ -5202,8 +5202,6 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
||||||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
||||||
var _require = __webpack_require__(/*! ../helpers */ "../helpers/helpers.js"),
|
var _require = __webpack_require__(/*! ../helpers */ "../helpers/helpers.js"),
|
||||||
addError = _require.addError;
|
addError = _require.addError;
|
||||||
var emphasisStartTextRe = /^(\S{1,3})(\s+)\S/;
|
|
||||||
var emphasisEndTextRe = /\S(\s+)(\S{1,3})$/;
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
"names": ["MD037", "no-space-in-emphasis"],
|
"names": ["MD037", "no-space-in-emphasis"],
|
||||||
"description": "Spaces inside emphasis markers",
|
"description": "Spaces inside emphasis markers",
|
||||||
|
|
@ -5261,44 +5259,43 @@ module.exports = {
|
||||||
} finally {
|
} finally {
|
||||||
_iterator2.f();
|
_iterator2.f();
|
||||||
}
|
}
|
||||||
var _iterator3 = _createForOfIteratorHelper(emphasisTokensByMarker.values()),
|
var _iterator3 = _createForOfIteratorHelper(emphasisTokensByMarker.entries()),
|
||||||
_step3;
|
_step3;
|
||||||
try {
|
try {
|
||||||
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
||||||
var _emphasisTokens2 = _step3.value;
|
var entry = _step3.value;
|
||||||
|
var _entry = _slicedToArray(entry, 2),
|
||||||
|
_marker = _entry[0],
|
||||||
|
_emphasisTokens2 = _entry[1];
|
||||||
for (var i = 0; i + 1 < _emphasisTokens2.length; i += 2) {
|
for (var i = 0; i + 1 < _emphasisTokens2.length; i += 2) {
|
||||||
// Process start token of start/end pair
|
// Process start token of start/end pair
|
||||||
var startToken = _emphasisTokens2[i];
|
var startToken = _emphasisTokens2[i];
|
||||||
var startText = lines[startToken.startLine - 1].slice(startToken.startColumn - 1);
|
var startLine = lines[startToken.startLine - 1];
|
||||||
var startMatch = startText.match(emphasisStartTextRe);
|
var startSlice = startLine.slice(startToken.endColumn - 1);
|
||||||
|
var startMatch = startSlice.match(/^\s+\S/);
|
||||||
if (startMatch) {
|
if (startMatch) {
|
||||||
var _startMatch = _slicedToArray(startMatch, 3),
|
var _startMatch = _slicedToArray(startMatch, 1),
|
||||||
startContext = _startMatch[0],
|
startSpaceCharacter = _startMatch[0];
|
||||||
startMarker = _startMatch[1],
|
var startContext = "".concat(_marker).concat(startSpaceCharacter);
|
||||||
startSpaces = _startMatch[2];
|
addError(onError, startToken.startLine, undefined, startContext, [startToken.startColumn, startContext.length], {
|
||||||
if (startMarker === startToken.text && startSpaces.length > 0) {
|
"editColumn": startToken.endColumn,
|
||||||
addError(onError, startToken.startLine, undefined, startContext, [startToken.startColumn, startContext.length], {
|
"deleteCount": startSpaceCharacter.length - 1
|
||||||
"editColumn": startToken.endColumn,
|
});
|
||||||
"deleteCount": startSpaces.length
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process end token of start/end pair
|
// Process end token of start/end pair
|
||||||
var endToken = _emphasisTokens2[i + 1];
|
var endToken = _emphasisTokens2[i + 1];
|
||||||
var endText = lines[endToken.startLine - 1].slice(0, endToken.endColumn - 1);
|
var endLine = lines[endToken.startLine - 1];
|
||||||
var endMatch = endText.match(emphasisEndTextRe);
|
var endSlice = endLine.slice(0, endToken.startColumn - 1);
|
||||||
|
var endMatch = endSlice.match(/\S\s+$/);
|
||||||
if (endMatch) {
|
if (endMatch) {
|
||||||
var _endMatch = _slicedToArray(endMatch, 3),
|
var _endMatch = _slicedToArray(endMatch, 1),
|
||||||
endContext = _endMatch[0],
|
endSpaceCharacter = _endMatch[0];
|
||||||
endSpace = _endMatch[1],
|
var endContext = "".concat(endSpaceCharacter).concat(_marker);
|
||||||
endMarker = _endMatch[2];
|
addError(onError, endToken.startLine, undefined, endContext, [endToken.endColumn - endContext.length, endContext.length], {
|
||||||
if (endMarker === endToken.text && endSpace.length > 0) {
|
"editColumn": endToken.startColumn - (endSpaceCharacter.length - 1),
|
||||||
addError(onError, endToken.startLine, undefined, endContext, [endToken.endColumn - endContext.length, endContext.length], {
|
"deleteCount": endSpaceCharacter.length - 1
|
||||||
"editColumn": endToken.startColumn - endSpace.length,
|
});
|
||||||
"deleteCount": endSpace.length
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
73
lib/md037.js
73
lib/md037.js
|
|
@ -4,9 +4,6 @@
|
||||||
|
|
||||||
const { addError } = require("../helpers");
|
const { addError } = require("../helpers");
|
||||||
|
|
||||||
const emphasisStartTextRe = /^(\S{1,3})(\s+)\S/;
|
|
||||||
const emphasisEndTextRe = /\S(\s+)(\S{1,3})$/;
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
"names": [ "MD037", "no-space-in-emphasis" ],
|
"names": [ "MD037", "no-space-in-emphasis" ],
|
||||||
"description": "Spaces inside emphasis markers",
|
"description": "Spaces inside emphasis markers",
|
||||||
|
|
@ -45,51 +42,51 @@ module.exports = {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process bare tokens for each emphasis marker type
|
// Process bare tokens for each emphasis marker type
|
||||||
for (const emphasisTokens of emphasisTokensByMarker.values()) {
|
for (const entry of emphasisTokensByMarker.entries()) {
|
||||||
|
const [ marker, emphasisTokens ] = entry;
|
||||||
for (let i = 0; i + 1 < emphasisTokens.length; i += 2) {
|
for (let i = 0; i + 1 < emphasisTokens.length; i += 2) {
|
||||||
|
|
||||||
// Process start token of start/end pair
|
// Process start token of start/end pair
|
||||||
const startToken = emphasisTokens[i];
|
const startToken = emphasisTokens[i];
|
||||||
const startText =
|
const startLine = lines[startToken.startLine - 1];
|
||||||
lines[startToken.startLine - 1].slice(startToken.startColumn - 1);
|
const startSlice = startLine.slice(startToken.endColumn - 1);
|
||||||
const startMatch = startText.match(emphasisStartTextRe);
|
const startMatch = startSlice.match(/^\s+\S/);
|
||||||
if (startMatch) {
|
if (startMatch) {
|
||||||
const [ startContext, startMarker, startSpaces ] = startMatch;
|
const [ startSpaceCharacter ] = startMatch;
|
||||||
if ((startMarker === startToken.text) && (startSpaces.length > 0)) {
|
const startContext = `${marker}${startSpaceCharacter}`;
|
||||||
addError(
|
addError(
|
||||||
onError,
|
onError,
|
||||||
startToken.startLine,
|
startToken.startLine,
|
||||||
undefined,
|
undefined,
|
||||||
startContext,
|
startContext,
|
||||||
[ startToken.startColumn, startContext.length ],
|
[ startToken.startColumn, startContext.length ],
|
||||||
{
|
{
|
||||||
"editColumn": startToken.endColumn,
|
"editColumn": startToken.endColumn,
|
||||||
"deleteCount": startSpaces.length
|
"deleteCount": startSpaceCharacter.length - 1
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process end token of start/end pair
|
// Process end token of start/end pair
|
||||||
const endToken = emphasisTokens[i + 1];
|
const endToken = emphasisTokens[i + 1];
|
||||||
const endText =
|
const endLine = lines[endToken.startLine - 1];
|
||||||
lines[endToken.startLine - 1].slice(0, endToken.endColumn - 1);
|
const endSlice = endLine.slice(0, endToken.startColumn - 1);
|
||||||
const endMatch = endText.match(emphasisEndTextRe);
|
const endMatch = endSlice.match(/\S\s+$/);
|
||||||
if (endMatch) {
|
if (endMatch) {
|
||||||
const [ endContext, endSpace, endMarker ] = endMatch;
|
const [ endSpaceCharacter ] = endMatch;
|
||||||
if ((endMarker === endToken.text) && (endSpace.length > 0)) {
|
const endContext = `${endSpaceCharacter}${marker}`;
|
||||||
addError(
|
addError(
|
||||||
onError,
|
onError,
|
||||||
endToken.startLine,
|
endToken.startLine,
|
||||||
undefined,
|
undefined,
|
||||||
endContext,
|
endContext,
|
||||||
[ endToken.endColumn - endContext.length, endContext.length ],
|
[ endToken.endColumn - endContext.length, endContext.length ],
|
||||||
{
|
{
|
||||||
"editColumn": endToken.startColumn - endSpace.length,
|
"editColumn":
|
||||||
"deleteCount": endSpace.length
|
endToken.startColumn - (endSpaceCharacter.length - 1),
|
||||||
}
|
"deleteCount": endSpaceCharacter.length - 1
|
||||||
);
|
}
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue