mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-16 19:22:00 -05:00
96 lines
2.1 KiB
Nix
96 lines
2.1 KiB
Nix
{lib, ...}: {
|
|
autoCmd = [
|
|
{
|
|
event = [
|
|
"BufEnter"
|
|
"BufNew"
|
|
];
|
|
desc = "disable statuscolumn for neo-tree and dashboard";
|
|
callback = lib.nixvim.mkRaw ''
|
|
function()
|
|
local ft_ignore = { "dashboard", "neo-tree" }
|
|
if vim.tbl_contains(ft_ignore, vim.bo.filetype) then
|
|
vim.cmd("setlocal foldcolumn=0")
|
|
end
|
|
end
|
|
'';
|
|
}
|
|
];
|
|
|
|
plugins = {
|
|
statuscol = {
|
|
enable = true;
|
|
settings = {
|
|
relculright = true;
|
|
ft_ignore = [
|
|
"dashboard"
|
|
"neo-tree"
|
|
];
|
|
segments = [
|
|
{
|
|
click = "v:lua.ScFa";
|
|
text = [(lib.nixvim.mkRaw "require('statuscol.builtin').foldfunc")];
|
|
}
|
|
{
|
|
click = "v:lua.ScSa";
|
|
text = [" %s"];
|
|
}
|
|
{
|
|
click = "v:lua.ScLa";
|
|
text = [
|
|
(lib.nixvim.mkRaw "require('statuscol.builtin').lnumfunc")
|
|
" "
|
|
];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
nvim-ufo = {
|
|
enable = true;
|
|
settings = {
|
|
provider_selector =
|
|
# lua
|
|
''
|
|
function()
|
|
return { "lsp", "indent" }
|
|
end
|
|
'';
|
|
preview.mappings = {
|
|
close = "q";
|
|
switch = "K";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
opts = {
|
|
foldcolumn = "1";
|
|
foldlevel = 99;
|
|
foldlevelstart = 99;
|
|
foldenable = true;
|
|
fillchars = lib.nixvim.mkRaw "[[eob: ,fold: ,foldopen:,foldsep: ,foldclose:]]";
|
|
};
|
|
|
|
keymaps = [
|
|
{
|
|
mode = "n";
|
|
key = "zR";
|
|
action = lib.nixvim.mkRaw "function() require('ufo').openAllFolds() end";
|
|
options.desc = "open all folds";
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "zM";
|
|
action = lib.nixvim.mkRaw "function() require('ufo').closeAllFolds() end";
|
|
options.desc = "close all folds";
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "zK";
|
|
action = lib.nixvim.mkRaw "function() local winid = require('ufo').peekFoldedLinesUnderCursor() if not winid then vim.lsp.buf.hover() end end";
|
|
options.desc = "Peek Folded Lines";
|
|
}
|
|
];
|
|
}
|