Files
2026-03-31 16:26:32 +08:00

83 lines
1.7 KiB
Lua

return {
{ "nvim-treesitter/playground", cmd = "TSPlaygroundToggle" },
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"astro",
"cmake",
"cpp",
"css",
"fish",
"gitignore",
"go",
"graphql",
"html",
"java",
"javascript",
"json",
"latex",
-- "lua", "vim", "vimdoc", "query", "markdown" 等由 Neovim 内置,
-- 不在此安装,避免 nvim-treesitter 装的新版 parser 与内置 query 不兼容。
"norg",
"php",
"proto", -- Protocol Buffers
"regex",
"rust",
"scss",
"sql",
"svelte",
"toml",
"tsx",
"typescript",
"typst",
"vue",
"yaml",
},
-- matchup = {
-- enable = true,
-- },
-- https://github.com/nvim-treesitter/playground#query-linter
query_linter = {
enable = true,
use_virtual_text = true,
lint_events = { "BufWrite", "CursorHold" },
},
playground = {
enable = true,
disable = {},
updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
persist_queries = true, -- Whether the query persists across vim sessions
keybindings = {
toggle_query_editor = "o",
toggle_hl_groups = "i",
toggle_injected_languages = "t",
toggle_anonymous_nodes = "a",
toggle_language_display = "I",
focus_language = "f",
unfocus_language = "F",
update = "R",
goto_node = "<cr>",
show_help = "?",
},
},
},
config = function()
-- LazyVim 已经通过 opts 自动调用了 setup
-- 这里只做额外的配置
-- MDX
vim.filetype.add({
extension = {
mdx = "mdx",
},
})
vim.treesitter.language.register("markdown", "mdx")
end,
},
}