nvim/lua/plugins/treesitter.lua
2023-12-08 01:26:57 -06:00

83 lines
1.9 KiB
Lua

return {
{
"nvim-treesitter/nvim-treesitter",
dependencies = { "windwp/nvim-ts-autotag", "JoosepAlviste/nvim-ts-context-commentstring" },
build = "<cmd>TSUpdate",
event = "BufRead",
cmd = {
"TSBufDisable",
"TSBufEnable",
"TSBufToggle",
"TSDisable",
"TSEnable",
"TSToggle",
"TSInstall",
"TSInstallInfo",
"TSInstallSync",
"TSModuleInfo",
"TSUninstall",
"TSUpdate",
"TSUpdateSync",
},
opts = {
-- https://github.com/nvim-treesitter/nvim-treesitter#supported-languages
--ensure_installed = "all",
ensure_installed = {
"lua",
"http",
"json",
"bash",
"css",
"diff",
"dockerfile",
"dot",
"git_rebase",
"gitattributes",
"html",
"java",
"javascript",
"jq",
"jsdoc",
"json5",
"kotlin",
"latex",
"make",
"markdown",
"markdown_inline",
"nix",
"python",
"regex",
"rst",
"rust",
"scss",
"sql",
"terraform",
"toml",
"tsx",
"typescript",
"vue",
"yaml",
},
highlight = {
enable = true,
use_languagetree = true,
disable = function(_, bufnr) return vim.api.nvim_buf_line_count(bufnr) > 10000 end,
-- additional_vim_regex_highlighting = false,
},
incremental_selection = { enable = true },
ident = { enable = true },
autotag = { enable = true },
rainbow = {
enable = true,
extended_mode = true,
max_file_lines = nil,
},
},
config = function(_, opts)
vim.g.skip_ts_context_commentstring_module = true
require('ts_context_commentstring').setup({})
require("nvim-treesitter.configs").setup(opts)
end,
},
"nvim-treesitter/playground",
}