Initial work on massive refactor
This commit is contained in:
parent
b4f1a4f441
commit
c01b7077ff
28 changed files with 717 additions and 530 deletions
.config/nvim/lua/plugins/misc
35
.config/nvim/lua/plugins/misc/ufo.lua
Normal file
35
.config/nvim/lua/plugins/misc/ufo.lua
Normal file
|
@ -0,0 +1,35 @@
|
|||
local M = { "nvim-treesitter/nvim-treesitter" }
|
||||
|
||||
M.event = { "InsertEnter" }
|
||||
|
||||
M.dependencies = { "kevinhwang91/promise-async" }
|
||||
|
||||
M.opts = {
|
||||
preview = {
|
||||
mappings = {
|
||||
scrollB = "<C-b>",
|
||||
scrollF = "<C-f>",
|
||||
scrollU = "<C-u>",
|
||||
scrollD = "<C-d>",
|
||||
},
|
||||
},
|
||||
provider_selector = function(_, filetype, buftype)
|
||||
local function handleFallbackException(bufnr, err, providerName)
|
||||
if type(err) == "string" and err:match "UfoFallbackException" then
|
||||
return require("ufo").getFolds(bufnr, providerName)
|
||||
else
|
||||
return require("promise").reject(err)
|
||||
end
|
||||
end
|
||||
|
||||
return (filetype == "" or buftype == "nofile") and "indent" -- only use indent until a file is opened
|
||||
or function(bufnr)
|
||||
return require("ufo")
|
||||
.getFolds(bufnr, "lsp")
|
||||
:catch(function(err) return handleFallbackException(bufnr, err, "treesitter") end)
|
||||
:catch(function(err) return handleFallbackException(bufnr, err, "indent") end)
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
return M
|
Loading…
Add table
Add a link
Reference in a new issue