config/users/natalie/vim.nix

43 lines
1,010 B
Nix
Raw Normal View History

2025-05-21 10:44:59 -07:00
{pkgs, ...}: {
2025-05-19 21:42:58 -07:00
imports = [
./vim/default.nix
];
2025-05-12 15:19:01 -07:00
vim = {
2025-05-21 10:44:59 -07:00
options = {
tabstop = 2;
softtabstop = 2;
shiftwidth = 2;
undofile = true;
swapfile = false;
showmode = false;
2025-05-21 11:55:34 -07:00
foldlevel = 99;
foldcolumn = "1";
foldlevelstart = 99;
foldenable = true;
2025-05-21 13:05:29 -07:00
foldmethod = "expr";
#Default to treesitter folding
foldexpr = "v:lua.vim.treesitter.foldexpr()";
2025-05-21 10:44:59 -07:00
};
autocmds = [
2025-05-21 13:05:29 -07:00
{
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
'';
}
2025-05-21 10:44:59 -07:00
];
2025-05-12 15:19:01 -07:00
theme = {
name = "catppuccin";
style = "mocha";
};
2025-05-20 21:30:54 -07:00
hideSearchHighlight = true;
2025-05-12 15:19:01 -07:00
};
}