pkg(nixvim): Add snack plugin for many little features

This commit is contained in:
ulic-youthlic 2025-07-13 06:04:55 +08:00
parent 2b6bc9763d
commit 3948d2b53d
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721

View file

@ -0,0 +1,85 @@
{...}: {
youthlic.plugins.snacks = {
enable = true;
luaConfig.content =
#lua
''
-- Terminal Mappings
_M.__util_plugin_snacks_term_nav = function(direction)
---@param self snacks.terminal
return function(self)
return self:is_floating() and "<c-" .. direction .. ">"
or vim.schedule(function()
vim.cmd.wincmd(direction)
end)
end
end
'';
settings = {
bigfile = {
enabled = true;
};
quickfile = {
enabled = true;
};
terminal = {
win = {
keys = {
nav_h = {
__unkeyed-1 = "<C-w>h";
__unkeyed-2 = {
__raw =
#lua
''
_M.__util_plugin_snacks_term_nav("h")
'';
};
desc = "Go to Left Window";
expr = true;
mode = "t";
};
nav_j = {
__unkeyed-1 = "<C-w>j";
__unkeyed-2 = {
__raw =
#lua
''
_M.__util_plugin_snacks_term_nav("j")
'';
};
desc = "Go to Lower Window";
expr = true;
mode = "t";
};
nav_k = {
__unkeyed-1 = "<C-w>k";
__unkeyed-2 = {
__raw =
#lua
''
_M.__util_plugin_snacks_term_nav("k")
'';
};
desc = "Go to Upper Window";
expr = true;
mode = "t";
};
nav_l = {
__unkeyed-1 = "<C-w>l";
__unkeyed-2 = {
__raw =
#lua
''
_M.__util_plugin_snacks_term_nav("l")
'';
};
desc = "Go to Right Window";
expr = true;
mode = "t";
};
};
};
};
};
};
}