diff --git a/lib/markdownlint.js b/lib/markdownlint.js index 4c66513e..d273f50b 100644 --- a/lib/markdownlint.js +++ b/lib/markdownlint.js @@ -234,11 +234,16 @@ function lintContent( errors.addDetail = function addDetail(lineNumber, detail) { addError(lineNumber, detail); }; - errors.addDetailIf = function addDetailIf(lineNumber, expected, actual) { - if (expected !== actual) { - addError(lineNumber, "Expected: " + expected + "; Actual: " + actual); - } - }; + errors.addDetailIf = + function addDetailIf(lineNumber, expected, actual, range) { + if (expected !== actual) { + addError( + lineNumber, + "Expected: " + expected + "; Actual: " + actual, + null, + range); + } + }; errors.addContext = function addContext(lineNumber, context, left, right, range) { if (context.length <= 30) { diff --git a/lib/rules.js b/lib/rules.js index 9d29df81..1909db25 100644 --- a/lib/rules.js +++ b/lib/rules.js @@ -1186,7 +1186,8 @@ module.exports = [ .replace(/^\W*/, "").replace(/\W*$/, ""); if (names.indexOf(wordMatch) === -1) { var lineNumber = token.lineNumber + index + fenceOffset; - errors.addDetailIf(lineNumber, name, match[1]); + var range = [ match.index + 1, wordMatch.length ]; + errors.addDetailIf(lineNumber, name, match[1], range); } } } diff --git a/test/detailed-results-MD041-MD050.md b/test/detailed-results-MD041-MD050.md index b564c98e..96fab0a8 100644 --- a/test/detailed-results-MD041-MD050.md +++ b/test/detailed-results-MD041-MD050.md @@ -5,3 +5,9 @@ An [empty]() link An [empty](#) link with fragment This is a test file for the MARKDOWNLINT package. + +This is a paragraph +about Markdownlint +that capitalizes the +name wrong twice: +MarkDownLint. diff --git a/test/detailed-results-MD041-MD050.results.json b/test/detailed-results-MD041-MD050.results.json index 1f7f19fd..a40ed945 100644 --- a/test/detailed-results-MD041-MD050.results.json +++ b/test/detailed-results-MD041-MD050.results.json @@ -27,7 +27,7 @@ "errorRange": [4, 10] }, { - "lineNumber": 8, + "lineNumber": 14, "ruleName": "MD043", "ruleAlias": "required-headers", "ruleDescription": "Required header structure", @@ -42,6 +42,24 @@ "ruleDescription": "Proper names should have the correct capitalization", "errorDetail": "Expected: markdownlint; Actual: MARKDOWNLINT", "errorContext": null, - "errorRange": null + "errorRange": [29, 12] + }, + { + "lineNumber": 10, + "ruleName": "MD044", + "ruleAlias": "proper-names", + "ruleDescription": "Proper names should have the correct capitalization", + "errorDetail": "Expected: markdownlint; Actual: Markdownlint", + "errorContext": null, + "errorRange": [7, 12] + }, + { + "lineNumber": 13, + "ruleName": "MD044", + "ruleAlias": "proper-names", + "ruleDescription": "Proper names should have the correct capitalization", + "errorDetail": "Expected: markdownlint; Actual: MarkDownLint", + "errorContext": null, + "errorRange": [1, 12] } ] \ No newline at end of file