32 lines
798 B
Nix
32 lines
798 B
Nix
|
{
|
||
|
programs.nixvim.plugins.nvim_ufo = {
|
||
|
enable = true;
|
||
|
|
||
|
};
|
||
|
programs.nixvim.extraConfigLua = ''
|
||
|
# default fold options
|
||
|
vim.o.foldcolumn = '1'
|
||
|
vim.o.foldlevel = 99
|
||
|
vim.o.foldlevelstart = 99
|
||
|
vim.o.foldenable = true
|
||
|
|
||
|
# nvim_ufo options
|
||
|
vim.keymap.set('n', 'zR', require('ufo').openAllFolds, { desc = "Open all folds" })
|
||
|
vim.keymap.set('n', 'zM', require('ufo').closeAllFolds, { desc = "Close all folds" })
|
||
|
vim.keymap.set('n', 'zM', function()
|
||
|
local winid = require("ufo").peekFoldedLinesUnderCursor()
|
||
|
if not winid then
|
||
|
vim.lsp.buf.hover()
|
||
|
end
|
||
|
end , { desc = "Peed fold" })
|
||
|
|
||
|
require("ufo").setup({
|
||
|
provider_selector = function(bufnr, filetype, buftype)
|
||
|
return { 'lsp', 'indent' }
|
||
|
end
|
||
|
})
|
||
|
|
||
|
'';
|
||
|
}
|
||
|
|