Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Markdown] Refactor Syntax Fixes #1930 Fixes #2542 Fixes #2857 Fixes #2942 Fixes #3073 Addresses #3154 (in ST3 compatible way) Fixes #3157 Fixes #3170 Addresses #3228 This commit refactors Markdown syntax to 1. improve compliance with CommonMark specification: https://spec.commonmark.org/0.30 Many tests are added to proof compliance: https://spec.commonmark.org/0.30/spec.json Latest GFM syntax is based on CommonMark at the time writing, so those rules are included as well: https://github.github.com/gfm/ 2. convert most anonymous to named contexts for better support of inheritance. 3. reorganize syntax into logical sections for better readability and maintainability. 4. address most Markdown related issues of sublimehq/Packages repo. Main changes are: - fix CommonMark compatibility of backslash escapes - fix CommonMark compatibility of block quotes - fix CommonMark compatibility of html entities - fix CommonMark compatibility of fenced code blocks - fix CommonMark compatibility of indented code blocks (mixed tabs/spaces) - fix CommonMark compatibility of reference definitions - fix CommonMark compatibility of thematic breaks - update strike-through markup to use 2 tildes only - reorganizing contexts in logical sections Benchmarks: This commit has no impact on parsing performance. Notes: 1. Some remaining CommonMark incompatibilities need further work using ST4's "branching" feature. 2. Main refactoring work was done in MarkdownEditing package and released with version 3.1.1. This commit contains the result of that work, except some features which rely on 3rd-party (syntax) packages. Removed features are: - coffee script support in front-matter - numerous code-block syntaxes (E.g.: Ada, Coffee Script, ...) - LaTex blocks - custom `<kbd>` tag highlighting as it doesn't meet quality expectations
- Loading branch information