nvim/lua/plugins/treesitter.lua
RingOfStorms (Joshua Bell) 3c84ec54bf auto tree sit
2023-07-03 15:22:45 -05:00

87 lines
1.7 KiB
Lua

local auto = true
local output = vim.fn.system({
"which",
"tree-sitter",
})
if output == nil or output == "" then
auto = false
end
return {
"nvim-treesitter/nvim-treesitter",
dependencies = { "windwp/nvim-ts-autotag", "JoosepAlviste/nvim-ts-context-commentstring" },
build = ":TSUpdate",
event = "BufRead",
cmd = {
"TSBufDisable",
"TSBufEnable",
"TSBufToggle",
"TSDisable",
"TSEnable",
"TSToggle",
"TSInstall",
"TSInstallInfo",
"TSInstallSync",
"TSModuleInfo",
"TSUninstall",
"TSUpdate",
"TSUpdateSync",
},
opts = {
-- 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",
"jsx",
"typescript",
"vue",
"yaml",
},
auto_install = auto,
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 },
context_commentstring = { enable = true, enable_autocmd = false },
rainbow = {
enable = true,
extended_mode = true,
max_file_lines = nil,
},
},
"nvim-treesitter/playground",
}