83 lines
1.7 KiB
Lua
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,
|
|
},
|
|
}
|