Files
yadm/.config/nvim/lua/plugins/treesitter.lua
2024-09-06 09:36:15 +02:00

94 lines
2.1 KiB
Lua

return {
'nvim-treesitter/nvim-treesitter',
dependencies = {
'mizlan/iswap.nvim',
'romgrk/nvim-treesitter-context',
--"nvim-treesitter/nvim-treesitter-textobjects",
--"nvim-treesitter/playground",
},
build = ':TSUpdate',
opts = function()
-- Tree-sitter configuration
local ts = require'nvim-treesitter.configs'
ts.setup {
ignore_install = {'javascript'},
sync_install = true,
auto_install = true,
ensure_installed = {
"arduino",
"awk",
"bash",
"bibtex",
"bitbake",
"c",
"cmake",
--"comment",
"cpp",
"csv",
"devicetree",
"diff",
"fish",
"gitattributes",
"gitcommit",
"gitignore",
"git_config",
"git_rebase",
"html",
"vimdoc",
"http",
"ini",
"jq",
"json",
"latex",
"lua",
"make",
"markdown",
"markdown_inline",
"matlab",
"ninja",
"proto",
"python",
"regex",
"rust",
"toml",
"vim",
"yaml",
},
modules = {},
highlight = {
enable = true,
disable = function(lang, buf)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
additional_vim_regex_highlighting = false,
},
indent = {
enable = false,
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "ti",
node_incremental = "ti",
scope_incremental = "ts",
node_decremental = "td",
},
},
matchup = {
enable = true,
-- disable = { "c", "ruby" },
},
}
vim.opt.foldmethod = "manual"
vim.opt.foldexpr = "v:lua.vim.treesitter.foldexpr()"
vim.opt.foldlevelstart = 99
vim.opt.foldminlines = 50
end
}