mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Merge 4d289d16b3f619e12b62b8971db6818c420e39eb into 6e137fe9a3ee215f82a46a05e77be51ac17151f7
This commit is contained in:
commit
c577779e6a
@ -1,6 +1,2 @@
|
||||
" let the initial folding state be that all folds are closed.
|
||||
set foldlevel=0
|
||||
|
||||
" Use nvim-treesitter for folding
|
||||
set foldmethod=expr
|
||||
set foldexpr=nvim_treesitter#foldexpr()
|
||||
setlocal foldlevel=0
|
||||
|
||||
22
lua/config/ufo.lua
Normal file
22
lua/config/ufo.lua
Normal file
@ -0,0 +1,22 @@
|
||||
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 -- Don't set nofoldenable in ftplugin
|
||||
|
||||
-- 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
|
||||
})
|
||||
|
||||
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' })
|
||||
@ -56,7 +56,7 @@ local plugin_specs = {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
enabled = function()
|
||||
if vim.g.is_mac then
|
||||
if vim.g.is_mac or vim.g.is_linux then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
@ -495,6 +495,14 @@ local plugin_specs = {
|
||||
require("config.fidget-nvim")
|
||||
end,
|
||||
},
|
||||
{
|
||||
'kevinhwang91/nvim-ufo',
|
||||
dependencies = {'kevinhwang91/promise-async'},
|
||||
event = { "VeryLazy" },
|
||||
config = function()
|
||||
require("config.ufo")
|
||||
end
|
||||
}
|
||||
}
|
||||
|
||||
-- configuration for lazy itself.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user