37 lines
1.2 KiB
Lua
37 lines
1.2 KiB
Lua
local function config()
|
|
|
|
require('nvim-treesitter.configs').setup({
|
|
ensure_installed = {
|
|
"bash", "c", "comment", "cpp", "css", "dockerfile", "html",
|
|
"javascript", "jsdoc", "json", "lua", "python", "query", "regex",
|
|
"typescript", "yaml", "sql", "http", "php", "rust", "scss",
|
|
"markdown", "dart"
|
|
},
|
|
highlight = {enable = true},
|
|
indent = {enable = true},
|
|
rainbow = {
|
|
enable = true,
|
|
extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean
|
|
max_file_lines = 1000 -- Do not enable for files with more than 1000 lines, int
|
|
}
|
|
})
|
|
|
|
-- Treesitter Folding
|
|
vim.api.nvim_create_autocmd({
|
|
'BufEnter', 'BufAdd', 'BufNew', 'BufNewFile', 'BufWinEnter'
|
|
}, {
|
|
group = vim.api.nvim_create_augroup('TS_FOLD_WORKAROUND', {}),
|
|
callback = function()
|
|
vim.opt.foldmethod = 'expr'
|
|
vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
|
end
|
|
})
|
|
end
|
|
|
|
return {
|
|
'nvim-treesitter/nvim-treesitter',
|
|
run = function()
|
|
require('nvim-treesitter.install').update({with_sync = true})
|
|
end,
|
|
config = config
|
|
}
|