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

@ -528,9 +528,22 @@ list.hcl = {
list.markdown = {
install_info = {
url = "https://github.com/MDeiml/tree-sitter-markdown",
location = "tree-sitter-markdown",
files = { "src/parser.c", "src/scanner.cc" },
branch = "main",
branch = "split_parser",
},
maintainers = { "@MDeiml" },
experimental = true,
}
list.markdown_inline = {
install_info = {
url = "https://github.com/MDeiml/tree-sitter-markdown",
location = "tree-sitter-markdown-inline",
files = { "src/parser.c", "src/scanner.cc" },
branch = "split_parser",
},
maintainers = { "@MDeiml" },
experimental = true,
}