diff --git a/users/natalie/vim.nix b/users/natalie/vim.nix index a1bad7b..cd55dbd 100644 --- a/users/natalie/vim.nix +++ b/users/natalie/vim.nix @@ -14,9 +14,24 @@ foldcolumn = "1"; foldlevelstart = 99; foldenable = true; + foldmethod = "expr"; + #Default to treesitter folding + foldexpr = "v:lua.vim.treesitter.foldexpr()"; }; autocmds = [ + { + event = ["LspAttach"]; + callback = pkgs.lib.generators.mkLuaInline '' + function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client:supports_method('textDocument/foldingRange') then + local win = vim.api.nvim_get_current_win() + vim.wo[win][0].foldexpr = 'v:lua.vim.lsp.foldexpr()' + end + end + ''; + } ]; theme = { name = "catppuccin";