25 lines
860 B
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,
|
|
} |