dotfiles/.config/nvim/lua/plugins/ufo.lua.bak
2023-09-16 13:34:12 +02:00

47 lines
1.6 KiB
Lua

return {
{
"kevinhwang91/nvim-ufo",
dependencies = {
"kevinhwang91/promise-async",
{
"luukvbaal/statuscol.nvim",
config = function()
local builtin = require("statuscol.builtin")
require("statuscol").setup({
relculright = true,
segments = {
{ text = { builtin.foldfunc }, click = "v:lua.ScFa" },
{ text = { "%s" }, click = "v:lua.ScSa" },
{ text = { builtin.lnumfunc, " " }, click = "v:lua.ScLa" },
},
})
end,
},
},
--stylua: ignore
keys = {
{ "zc" },
{ "zo" },
{ "zC" },
{ "zO" },
{ "za" },
{ "zA" },
{ "zr", function() require("ufo").openFoldsExceptKinds() end, desc = "Open Folds Except Kinds", },
{ "zR", function() require("ufo").openAllFolds() end, desc = "Open All Folds", },
{ "zM", function() require("ufo").closeAllFolds() end, desc = "Close All Folds", },
{ "zm", function() require("ufo").closeFoldsWith() end, desc = "Close Folds With", },
{ "zp", function()
local winid = require('ufo').peekFoldedLinesUnderCursor()
if not winid then
vim.lsp.buf.hover()
end
end, desc = "Peek Fold", },
},
opts = {
fold_virt_text_handler = handler,
},
config = function(_, opts)
require("ufo").setup(opts)
end,
},
}