From ec1c05b70a47b40ac5d5ebe80dfda9d6a66187df Mon Sep 17 00:00:00 2001 From: "s0wlz (Matthias Puchstein)" Date: Thu, 9 Apr 2026 23:53:48 +0200 Subject: [PATCH] nvim: override markdown injections for Neovim 0.12 treesitter API compat --- .../after/queries/markdown/injections.scm | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 dot_config/nvim/after/queries/markdown/injections.scm diff --git a/dot_config/nvim/after/queries/markdown/injections.scm b/dot_config/nvim/after/queries/markdown/injections.scm new file mode 100644 index 0000000..61daa31 --- /dev/null +++ b/dot_config/nvim/after/queries/markdown/injections.scm @@ -0,0 +1,29 @@ +; Override nvim-treesitter's markdown injections to avoid #set-lang-from-info-string! +; which crashes on Neovim 0.12 due to changed match table API (captures are now lists). +; Uses Neovim's native @injection.language capture instead. + +(fenced_code_block + (info_string + (language) @injection.language) + (code_fence_content) @injection.content) + +((html_block) @injection.content + (#set! injection.language "html") + (#set! injection.combined) + (#set! injection.include-children)) + +((minus_metadata) @injection.content + (#set! injection.language "yaml") + (#offset! @injection.content 1 0 -1 0) + (#set! injection.include-children)) + +((plus_metadata) @injection.content + (#set! injection.language "toml") + (#offset! @injection.content 1 0 -1 0) + (#set! injection.include-children)) + +([ + (inline) + (pipe_table_cell) +] @injection.content + (#set! injection.language "markdown_inline"))