return { { "kevinhwang91/nvim-ufo", dependencies = { "kevinhwang91/promise-async" }, event = "BufEnter", config = function() -- Fold options vim.o.fillchars = [[eob: ,fold: ,foldopen:,foldsep: ,foldclose:]] 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 require("ufo").setup() end, opts = { preview = { win_config = { border = { "", "─", "", "", "", "─", "", "" }, winhighlight = "Normal:Folded", winblend = 0, }, mappings = { scrollB = "", scrollF = "", scrollU = "", scrollD = "", jumpTop = "[", jumpBot = "]", }, }, provider_selector = function(_, filetype, buftype) return (filetype == "" or buftype == "nofile") and "indent" -- only use indent until a file is opened or { "treesitter", "indent" } -- if file opened, try to use treesitter if available end, }, }, }