feat: nvim: treesitter: enable code folding

This commit is contained in:
Jeremy Wall 2025-05-28 18:37:58 -04:00
parent f8d9064a6d
commit 0811207844

View File

@ -43,6 +43,23 @@ vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, {
end,
})
vim.api.nvim_create_autocmd({ "BufNewfile", "BufRead" }, {
callback = function(args)
-- If treesitter supports this filetype then use the treesitter fold expression
local ft = vim.bo.filetype
if ft and ft ~= "" then
-- Safely check if a parser exists for this filetype
local has_parser = pcall(function() return vim.treesitter.language.inspect(ft) end)
if has_parser then
vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
vim.wo.foldmethod = 'expr'
vim.wo.foldlevel = 3
end
end
end,
})
vim.cmd([[
au BufNewFile,BufRead *Makefile,*.mk set noexpandtab
]])
@ -320,6 +337,7 @@ require('nvim-treesitter.configs').setup {
extended_mode = true,
max_file_lines = nil,
},
textobjects = { enable = true },
incremental_selection = {
enable = true,
keymaps = {