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