Commit graph

630 commits

Author SHA1 Message Date
David Anson
9c8e7156e1 Create strict JSON Schema for configuration (standalone for ease of use) and corresponding strict TypeScript type (via extends for conciseness) (fixes #1248). 2024-08-27 20:47:33 -07:00
David Anson
dfcb4529f3 Cache all top-level calls to filterByTypes (~7% runtime reduction). 2024-08-24 22:05:16 -07:00
David Anson
85e704f32a Update to only invoke rules that are used at least once by the content. 2024-08-22 20:35:01 -07:00
David Anson
ea8d596a9b Stop running the markdown-it parser unless a custom rule that requires it is present (~7% runtime reduction). 2024-08-21 21:19:52 -07:00
David Anson
7aac5b0553 Refactor to remove flattenedLists, indentFor, listItemMarkerRe, orderedListItemMarkerRe, rangeFromRegExp, and unorderedListStyleFor helpers, reimplement MD004/MD029 using micromark tokens. 2024-08-20 21:36:17 -07:00
David Anson
2b8369ae39 Update MD031/blanks-around-fences to handle missing close fence. 2024-08-17 20:29:27 -07:00
David Anson
c8fd9eb4b3 Refactor to remove forEachLine and getLineMetadata helpers, reimplement MD012/MD018/MD020/MD031 using micromark tokens. 2024-08-17 17:58:16 -07:00
David Anson
7efc2605b1 Refactor to remove codeBlockAndSpanRanges helper. 2024-08-15 21:34:27 -07:00
David Anson
3b581a7f6d Reimplement MD013/line-length using micromark tokens. 2024-08-13 20:57:00 -07:00
David Anson
4072cf7417 Reimplement MD009/no-trailing-spaces using micromark tokens. 2024-08-12 23:24:46 -07:00
David Anson
ff8c1bf9b2 Reimplement MD010/no-hard-tabs using micromark tokens. 2024-08-10 21:44:42 -07:00
David Anson
a6cf08dfc6 Update MD039/no-space-in-links to report separate errors for start and end spaces (more granular; avoids conflicts). 2024-08-04 13:05:32 -07:00
David Anson
daa155d5a1 Reimplement MD039/no-space-in-links using micromark tokens. 2024-08-04 12:06:12 -07:00
Fu Yuchen
6c8d0fdef8
Update MD018/no-missing-space-atx and MD020/no-missing-space-closed-atx to ignore the content of HTML blocks (fixes #1268). 2024-07-20 14:38:45 +09:00
David Anson
964e4c80ab Reimplement MD042/no-empty-links using micromark tokens. 2024-06-30 16:10:48 -07:00
David Anson
347302169c Reimplement MD014/commands-show-output using micromark tokens. 2024-06-22 15:12:37 -07:00
David Anson
ec957029a5 Reimplement MD043/required-headings using micromark tokens. 2024-06-22 14:37:32 -07:00
David Anson
1513e3803b Remove outdated type annotations and lint suppressions. 2024-06-21 21:03:37 -07:00
David Anson
d9c5d24e20 Update generated markdownlint.d.ts after previous commit. 2024-06-21 20:54:42 -07:00
David Anson
96354678dc Reimplement MD024/no-duplicate-heading using micromark tokens. 2024-06-19 21:05:50 -07:00
David Anson
3b9a7fb2dd Reimplement MD023/heading-start-left using micromark tokens. 2024-06-17 22:18:58 -07:00
David Anson
157e888532 Refactor MD019 and MD021 to share code more effectively. 2024-06-16 20:25:07 -07:00
David Anson
0b165c1566 Reimplement MD021/no-multiple-space-closed-atx using micromark tokens. 2024-06-15 15:45:31 -07:00
David Anson
4ff3a27fa2 Reimplement MD019/no-multiple-space-atx using micromark tokens. 2024-06-11 21:37:29 -07:00
David Anson
12502f6571 Exclude htmlFlow content by default for filterByTypes, opt in as needed. 2024-06-09 17:09:03 -07:00
David Anson
ea9659841e Reimplement MD025/single-title/single-h1 using micromark tokens. 2024-06-08 20:41:40 -07:00
David Anson
6daaa43410 Reimplement MD003/heading-style using micromark tokens. 2024-06-08 14:44:49 -07:00
David Anson
f032849081 Reimplement MD001/heading-increment using micromark tokens. 2024-06-06 21:19:14 -07:00
David Anson
26466108e9 Add new rule MD058/blanks-around-tables (fixes #132). 2024-06-03 21:16:45 -07:00
David Anson
c6716f9bac Update to ESLint 9's "flat" configuration file format. 2024-04-20 21:29:23 -07:00
David Anson
b2305efafb Update to version 0.34.0. 2024-03-20 20:44:38 -07:00
David Anson
4c7cc9c326 Add 2 missing trailing semicolons. 2024-03-20 20:24:55 -07:00
David Anson
82441faa91 Reimplement MD036/no-emphasis-as-heading using micromark tokens. 2024-03-19 21:20:53 -07:00
David Anson
a83e2d8a09 Reimplement MD041/first-line-heading/first-line-h1 using micromark tokens. 2024-03-18 20:48:32 -07:00
David Anson
fdd8ba1974 Update MD051/link-fragments to include math text when creating heading fragments (fixes #1152). 2024-03-17 14:31:49 -07:00
David Anson
d5994ae4de Add Rule.parser property for custom rules to specify which Markdown parser output they use, honor it strictly, and add full type support. 2024-03-13 20:55:57 -07:00
David Anson
c44f165fe1 Remove tokens property from RuleParams type definition (use parsers.markdownit.tokens instead). No change to runtime behavior. 2024-03-07 21:14:17 -08:00
David Anson
a5371e29c5 Update dependency: markdownlint-micromark to 0.1.9. 2024-03-05 21:44:36 -08:00
David Anson
2b73095ebd Handle parser inconsistency for "u@.com" to avoid repeatedly wrapping with "<>" when fixing the bare URL (email) (fixes #1140). 2024-03-03 19:06:14 -08:00
David Anson
28e1b23955 Improve type safety by strongly-typing the micromark token type property everywhere. 2024-02-29 23:05:27 -08:00
David Anson
828ae3541a Use @type to provide typing for all instances of params.parsers.micromark.tokens. 2024-02-28 21:01:47 -08:00
David Anson
12c4f79604 Add parsers object to RuleParams type, annotate every rule definition with Rule type for better type validation. 2024-02-27 20:42:09 -08:00
David Anson
996d88a9b4 Refactor to remove micromark helper getSiblingTokens for simpler code and better performance. 2024-02-26 21:07:24 -08:00
David Anson
4436d84b55 Update MD027/no-multiple-space-blockquote range to cover just the extra spaces (vs. including nearby syntax). 2024-02-26 20:37:40 -08:00
David Anson
730ae9a96f Reimplement MD027/no-multiple-space-blockquote using micromark tokens. 2024-02-25 15:06:28 -08:00
David Anson
f0d691b1ed Reimplement MD048/code-fence-style using micromark tokens. 2024-02-19 20:42:12 -08:00
David Anson
807fee01b1 Reimplement MD046/code-block-style using micromark tokens. 2024-02-19 20:31:47 -08:00
David Anson
64b9032b51 Update MD049/emphasis-style and MD050/strong-style to properly detect violations at the beginning and end of a line (fixes #1132). 2024-02-19 15:41:10 -08:00
David Anson
f26df4743c Reimplement MD040/fenced-code-language using micromark tokens. 2024-02-18 17:22:32 -08:00
David Anson
f5b5773b50 Reimplement MD028/no-blanks-blockquote using micromark tokens. 2024-02-18 16:46:13 -08:00