kickstart.nvim/lua/custom/plugins/nvim-ufo.lua

25 lines
860 B
Lua

return {
"kevinhwang91/nvim-ufo",
dependencies = "kevinhwang91/promise-async",
config = function()
vim.o.foldcolumn = "1" -- '0' is not bad
vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value
vim.o.foldlevelstart = 99
vim.o.foldenable = true
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", "zK", function()
local winid = require("ufo").peekFoldedLinesUnderCursor()
if not winid then
vim.lsp.buf.hover()
end
end, { desc = "Peek Fold" })
require("ufo").setup({
provider_selector = function(bufnr, filetype, buftype)
return { "lsp", "indent" }
end,
})
end,
}