update nvim ufo config

This commit is contained in:
LordMZTE 2022-11-03 21:39:27 +01:00
parent 2353eb3f51
commit 0fffe74628
Signed by: LordMZTE
GPG key ID: B64802DC33A64FF6

View file

@ -2,13 +2,26 @@ local ufo = require "ufo"
local ts_parsers = require "nvim-treesitter.parsers"
local map = vim.api.nvim_set_keymap
local function has_lsp_folds(bufnr)
local clients = vim.lsp.get_active_clients { bufnr = bufnr }
for _, client in ipairs(clients) do
if client.server_capabilities.foldingRangeProvider then
return true
end
end
return false
end
ufo.setup {
open_fold_hl_timeout = 0, -- disable blinky thingy when opening fold
provider_selector = function(_, ft, _)
if ts_parsers.has_parser(ft) then
return { "lsp", "treesitter" }
else
provider_selector = function(bufnr, ft, _)
print "provider_selector"
if has_lsp_folds(bufnr) then
return { "lsp", "indent" }
elseif ts_parsers.has_parser(ft) then
return { "treesitter", "indent" }
else
return { "indent" }
end
end,
}