27 lines
823 B
Lua
27 lines
823 B
Lua
return {
|
|
"nvim-treesitter/nvim-treesitter",
|
|
lazy = false,
|
|
build = ":TSUpdate",
|
|
opts = {
|
|
install_dir = vim.fn.stdpath("data") .. "/site",
|
|
},
|
|
config = function()
|
|
-- Install specified languages for Treesitter
|
|
require("nvim-treesitter").install({ "rust", "javascript", "python", "fish", "ssh_config" }):wait(300000)
|
|
|
|
-- Enable Treesitter highlighting for specified file types
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = { "javascript", "rust", "python", "lua" },
|
|
callback = function()
|
|
vim.treesitter.start() -- Start Treesitter highlighting
|
|
end,
|
|
})
|
|
|
|
-- Set up Treesitter-based folding
|
|
vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
|
vim.wo.foldmethod = "expr"
|
|
|
|
-- Enable Treesitter-based indentation
|
|
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
|
end,
|
|
}
|