diff --git a/lua/config/ufo.lua b/lua/config/ufo.lua index 0f7ed82..dc38c85 100644 --- a/lua/config/ufo.lua +++ b/lua/config/ufo.lua @@ -1,8 +1,10 @@ - -- disable foldcolumn, see https://github.com/kevinhwang91/nvim-ufo/issues/4 +local keymap = vim.keymap + +-- disable foldcolumn, see https://github.com/kevinhwang91/nvim-ufo/issues/4 vim.o.foldcolumn = '0' 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.o.foldenable = true -- Don't set nofoldenable in ftplugin -- treesitter as a main provider instead -- Only depend on `nvim-treesitter/queries/filetype/folds.scm`, @@ -12,3 +14,9 @@ require('ufo').setup({ return {'treesitter', 'indent'} end }) + +local ufo = require('ufo') +keymap.set('n', 'zR', ufo.openAllFolds, { desc = 'Open all folds' }) +keymap.set('n', 'zM', ufo.closeAllFolds, { desc = 'Close all folds' }) +keymap.set('n', 'zr', ufo.openFoldsExceptKinds, { desc = 'Fold less' }) +keymap.set('n', 'zm', ufo.closeFoldsWith, { desc = 'Fold more' })