fold.lua 838 B

1234567891011121314151617181920212223242526
  1. return {
  2. "kevinhwang91/nvim-ufo",
  3. event = "BufRead",
  4. dependencies = { "kevinhwang91/promise-async" },
  5. config = function()
  6. vim.o.foldcolumn = "0" -- '0' is not bad
  7. vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value
  8. vim.o.foldlevelstart = 99
  9. vim.o.foldenable = true
  10. vim.keymap.set("n", "zA", require("ufo").openAllFolds, { desc = "Open all folds" })
  11. vim.keymap.set("n", "zC", require("ufo").closeAllFolds, { desc = "Close all folds" })
  12. vim.keymap.set("n", "zk", function()
  13. local winid = require("ufo").peekFoldedLinesUnderCursor()
  14. if not winid then
  15. vim.lsp.buf.hover()
  16. end
  17. end, { desc = "Peek Fold" })
  18. require("ufo").setup({
  19. provider_selector = function()
  20. return { "lsp", "indent" }
  21. end,
  22. })
  23. end,
  24. }