kickstart.nvim/after/plugin/nvim-ufo-config.lua

28 lines
812 B
Lua

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
-- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself
vim.keymap.set('n', 'zR', require('ufo').openAllFolds)
vim.keymap.set('n', 'zM', require('ufo').closeAllFolds)
vim.keymap.set('n', 'zK', function()
local winid = ufo.peekFoldedLinesUnderCursor()
if not winid then
vim.lsp.buf.hover()
end
end)
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.foldingRange = {
dynamicRegistration = false,
lineFoldingOnly = true,
}
require('ufo').setup {
provider_selector = function(bufnr, filetype, buftype)
return { 'lsp', 'indent' }
end,
}