diff --git a/after/plugin/ufo.lua b/after/plugin/ufo.lua new file mode 100644 index 0000000..b30ca68 --- /dev/null +++ b/after/plugin/ufo.lua @@ -0,0 +1,17 @@ +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) + +-- Option 3: treesitter as a main provider instead +-- Only depend on `nvim-treesitter/queries/filetype/folds.scm`, +-- performance and stability are better than `foldmethod=nvim_treesitter#foldexpr()` +require('ufo').setup({ + provider_selector = function(bufnr, filetype, buftype) + return { 'treesitter', 'indent' } + end +}) diff --git a/lua/junikim/packer.lua b/lua/junikim/packer.lua index 51c4a3b..2413339 100644 --- a/lua/junikim/packer.lua +++ b/lua/junikim/packer.lua @@ -80,4 +80,6 @@ return require('packer').startup(function(use) require 'colorizer'.setup() end } + use { 'kevinhwang91/nvim-ufo', requires = 'kevinhwang91/promise-async' } + end)