Commit graph

647 commits

Author SHA1 Message Date
David Anson
b6471fba31 Enable ESLint rule unicorn/no-array-for-each, auto-fix all violations, manually address new issues for ~4% time reduction measured via profile-fixture.mjs on Apple Silicon M1. 2022-06-08 22:10:27 -07:00
David Anson
00082ee8a5 Add "configParsers" option so custom parsers can be used to handle the content of markdownlint-configure-file inline comments (fixes #528). 2022-06-05 22:32:22 -07:00
David Anson
bbec8c5c1e Hide the content of inline configuration HTML comments from the linting process to avoid false positives. 2022-06-04 22:59:19 -07:00
David Anson
6718944b0f Replace helpers.overlapsAnyRange with .withinAnyRange, update code/tests for resulting behavior. 2022-06-02 22:17:32 -07:00
David Anson
36c689388f Refactor cache.js to simplify use. 2022-06-02 21:33:31 -07:00
David Anson
c5ca661b96 Add MD052/reference-links-images and MD053/link-image-reference-definitions for reporting issues with link and image references (fixes #144, fixes #390, fixes #425, fixes #456). 2022-06-01 20:26:01 -07:00
David Anson
ffc4d56918 Support tilde paths ("~" prefix) in readConfig/Sync APIs (for "file" parameter and "extends" keys). 2022-05-17 21:38:36 -07:00
David Anson
3792613d2d Implement markdownlint-disable-line inline comment (behaves like markdownlint-disable-next-line, but for the current line) (fixes #524). 2022-05-15 15:59:11 -07:00
David Anson
5f5f44e8e0 Update MD031/blanks-around-fences to avoid duplicating list item markers when adding blank lines (fixes #485). 2022-05-14 19:18:13 -07:00
David Anson
7bb80d19b1 Update MD039/no-space-in-links to not remove code/emphasis markers when fixing issues (fixes #482). 2022-05-06 21:42:31 -07:00
David Anson
580b7ed020 Unify near-identical implementations of MD049/emphasis-style and MD050/strong-style. 2022-05-03 21:59:49 -07:00
David Anson
76bc976d3b Rename md049.js in preparation for merging with md050.js. 2022-05-03 21:37:30 -07:00
David Anson
c4f51090ae Update MD049/emphasis-style and MD050/strong-style to correctly report and fix multiple identical violations on the same line (fixes #486). 2022-05-03 21:35:31 -07:00
David Anson
7a5886b976 Update MD035/hr-style to preserve embedded spaces in thematic break markup (fixes #498). 2022-04-28 21:53:51 -07:00
David Anson
b447c809bd Update MD010/no-hard-tabs to add ignore_code_languages parameter (fixes #383). 2022-04-28 21:09:06 -07:00
David Anson
0f845e9ba1 Update MD044/proper-names to add html_elements parameter (fixes #435). 2022-04-25 21:50:33 -07:00
David Anson
8afec14376 Update MD044/proper-names to support specifying multiple casings of the same name (ex: "Abc" and "ABC") (refs #435). 2022-04-22 20:41:42 -07:00
David Anson
9310713da1 Make resultVersion 3 (report multiple errors per line, include fixInfo) the default. 2022-04-21 21:30:56 -07:00
David Anson
152720f00e Update MD051/link-fragments to support indexing of repated headings. 2022-04-21 21:02:46 -07:00
David Anson
8c5f28c2f0 Refactor MD051/link-fragments slightly to reduce dependencies. 2022-04-20 21:27:21 -07:00
David Anson
9a5e7e42ef Update MD051/link-fragments to use the same character classes as GitHub, encode unprintable characters from emojii. 2022-04-18 20:59:01 -07:00
David Anson
db5d9f6dbb Update previous commit for MD051/link-fragments to rename, refactor, add support for HTML anchors, and validate against
markdown-link-check (fixes #253).
2022-04-16 14:08:56 -07:00
Divlo
33ee1cd85e Initial implementation of MD051/valid-link-fragments (refs #253, closes #495). 2022-04-16 14:08:56 -07:00
David Anson
62f5c85238 Stop sharing params object across rules because doing so is unstable for asynchronous rules (fixes #510). 2022-03-20 12:59:35 -07:00
David Anson
7a53caa7fb Replace helpers.linkRe with helpers.forEachLink to fix "Polynomial regular expression used on uncontrolled data" and to better support link syntax. 2022-02-18 21:14:14 -08:00
David Anson
861443c740 Update MD042/no-empty-links to improve range reporting, remove helpers.emptyLinkRe. 2022-02-13 17:41:31 -08:00
David Anson
f46ee0732f Update helpers.inlineCommentRe to fix an instance of "Polynomial regular expression used on uncontrolled data". 2022-02-12 22:02:08 -08:00
David Anson
96699459d1 Fix an instance of "Polynomial regular expression used on uncontrolled data". 2022-01-22 22:48:22 -08:00
David Anson
cb5eebb145 Fix an instance of "Polynomial regular expression used on uncontrolled data". 2022-01-21 21:51:36 -08:00
David Anson
b6121341b9 Fix an instance of "Polynomial regular expression used on uncontrolled data". 2022-01-20 20:02:14 -08:00
David Anson
2d19c0685b Update to version 0.25.1. 2022-01-13 22:29:31 -08:00
David Anson
4ff4cbcc41 Update to version 0.25.0. 2021-12-27 18:43:25 -08:00
David Anson
5f0040679d Deep freeze name/tokens/lines/frontMatterLines properties of params object before passing to (custom) rules for shared access. 2021-12-23 04:34:25 +00:00
Adithya Balaji
5253669495 Fix array indexing for markdownlint-disable-next-line when front matter is present. 2021-12-22 19:27:19 -08:00
David Anson
7a76f1d22d Update MD039/no-space-in-links to fix reference-style links, be slightly more permissive matching link content. 2021-12-22 14:52:43 -08:00
David Anson
ff8f4ea9fc Reduce execution time by ~50% by updating getEnabledRulesPerLineNumber to make enabledRules immutable and copy only when changed (also, simplify handleInlineConfig slightly). 2021-12-21 21:31:47 -08:00
David Anson
7cf9c2d6be Update MD037/no-space-in-emphasis to ignore embedded underscore emphasis markers (fixes #444, fixes #408, fixes #354, fixes #324). 2021-12-21 22:21:28 +00:00
David Anson
d57b4770ed Update MD010/no-hard-tabs to allow tabs in code spans when the code_blocks parameter is set to false (for consistency) (fixes #454). 2021-12-17 17:24:00 -08:00
David Anson
8fde53cf31 Update MD035/hr-style to correctly match thematic breaks in block quotes. 2021-12-14 23:05:03 -08:00
David Anson
517eb42015 Update MD007/ul-indent to support start_indent parameter (fixes #337, closes #397). 2021-12-13 21:49:43 -08:00
David Anson
13e375b281 Disable ESLint rule func-style. 2021-12-11 21:48:00 -08:00
David Anson
2056d81682 Add support for asynchronous custom rules (ex: to read a file or make a network request). 2021-12-11 21:44:25 -08:00
David Anson
109e0d8cb6 Refactor custom rule exception tests for smaller size and better coverage. 2021-12-10 21:33:20 -08:00
David Anson
e7662b11b5 Simplify lintContent by removing errors array and processing errors in onError so nothing needs to be done after invoking a rule. 2021-12-04 22:09:20 -08:00
David Anson
d3c56d3ab8 Refactor lintContent to do less processing of errors for each rule and instead handle all errors at the end. 2021-12-04 17:02:11 -08:00
David Anson
e531bd6359 Refactor lintInput to share code between sync/async, support an async path for strings, and process files first for better concurrency. 2021-12-03 22:43:58 -08:00
David Anson
7330ea4946 Add information about parser/index to error messages when parsing configuration file content. 2021-11-30 21:28:59 -08:00
David Anson
291597edb9 Update rules MD049/emphasis-style and MD050/strong-style to include range and fixInfo when reporting issues (i.e., to be automatically fixable). 2021-11-28 23:26:02 -08:00
David Anson
a508824b0f Refactor helpers.emphasisMarkersInContent slightly to avoid duplicate/unnecessary work. 2021-11-26 05:37:04 +00:00
David Anson
11806dc5cb Tokens inside tables that lack a map should get it from the surrounding table row (which is more scoped than the table body) (fixes #463). 2021-11-26 04:26:15 +00:00