feat(markdown)!: switch to split parser (#3048)

* switch to split markdown parser with separate block and inline parsers to improve performance
* add exclude_children! directive (useful for something like Injected markdown incorrectly highlights indented docstrings #2212)
* split markdown queries into block and inline ones and add the injection for inline into block grammar
* add include_dir option to parser configs (needed because the two grammars don't live in the repos root directory)

BREAKING CHANGE: downstream queries need to be adapted to new parser
This commit is contained in:
Matthias Deiml 2022-06-26 18:02:29 +02:00 committed by GitHub
parent d810c38634
commit 002084b1be
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 121 additions and 61 deletions

View file

@ -1,9 +1,9 @@
(fenced_code_block
(info_string
(language) @language)
(code_fence_content) @content)
(code_fence_content) @content (#exclude_children! @content))
((html_block) @html)
((html_tag) @html)
(document . (thematic_break) (_) @yaml @combined (thematic_break))
(document . (section . (thematic_break) (_) @yaml @combined (thematic_break)))
((inline) @markdown_inline (#exclude_children! @markdown_inline))