parsers: Add MDeiml/tree-sitter-markdown as markdown parser

Fixes #872
This commit is contained in:
Stephan Seitz 2021-12-13 21:29:07 +01:00
parent 567c644e53
commit 387a8f38bd
4 changed files with 37 additions and 22 deletions

View file

@ -25,8 +25,7 @@ local builtin_modules = {
enable = false, enable = false,
custom_captures = {}, custom_captures = {},
is_supported = function(lang) is_supported = function(lang)
-- FIXME(vigoux): markdown highlighting breaks everything for now return queries.has_highlights(lang)
return lang ~= "markdown" and queries.has_highlights(lang)
end, end,
additional_vim_regex_highlighting = false, additional_vim_regex_highlighting = false,
}, },

View file

@ -433,13 +433,14 @@ list.hcl = {
used_by = { "terraform" }, used_by = { "terraform" },
} }
-- FIXME(vigoux): markdown is broken for now list.markdown = {
-- list.markdown = { install_info = {
-- install_info = { url = "https://github.com/MDeiml/tree-sitter-markdown",
-- url = "https://github.com/ikatyang/tree-sitter-markdown", files = { "src/parser.c", "src/scanner.cc" },
-- files = { "src/parser.c", "src/scanner.cc" }, branch = "main",
-- } },
-- } experimental = true,
}
list.tlaplus = { list.tlaplus = {
install_info = { install_info = {

View file

@ -1,21 +1,35 @@
(atx_heading) @text.title ;; From MDeiml/tree-sitter-markdown
[ [
(code_span) (atx_heading)
(fenced_code_block) (setext_heading)
]@text.literal ] @text.title
(code_fence_content) @none (code_fence_content) @none
[ [
(link_text) (indented_code_block)
(image_description) (fenced_code_block)
] @text.strong (code_span)
] @text.literal
(emphasis) @text.emphasis
(strong_emphasis) @text.strong
[
(emphasis)
(strong_emphasis)
] @text.emphasis
(link_destination) @text.uri (link_destination) @text.uri
(html_comment) @comment (link_label) @text.reference
[
(list_marker_plus)
(list_marker_minus)
(list_marker_star)
(list_marker_dot)
(list_marker_parenthesis)
] @punctuation.special
[
(backslash_escape)
(hard_line_break)
] @string.escape

View file

@ -3,3 +3,4 @@
(code_fence_content) @content) (code_fence_content) @content)
((html_block) @html) ((html_block) @html)
((html_tag) @html)