diff --git a/nix/base-system/init.lua b/nix/base-system/init.lua index f15e494..67a8e98 100644 --- a/nix/base-system/init.lua +++ b/nix/base-system/init.lua @@ -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 = {