fix(profile): guard plugin setup when modules are unavailable

This commit is contained in:
2026-05-30 15:40:54 +08:00
parent f3176eb294
commit fb057c44f0
2 changed files with 59 additions and 19 deletions
+36 -11
View File
@@ -1,5 +1,14 @@
local M = {}
local function safe_setup(label, fn)
local ok, err = pcall(fn)
if not ok then
vim.schedule(function()
vim.notify("Skipping " .. label .. ": " .. tostring(err), vim.log.levels.WARN)
end)
end
end
local function setup_flash(keys)
require("flash").setup({
modes = {
@@ -65,17 +74,33 @@ function M.setup()
return
end
setup_flash({
jump_key = "<leader>s",
treesitter_key = "<leader>S",
})
require("nvim-surround").setup({})
require("plugins.native.git").setup()
require("plugins.native.tree").setup()
require("plugins.native.statusline").setup()
require("plugins.native.treesitter").setup()
require("plugins.native.which_key").setup()
require("plugins.native.window").setup()
safe_setup("flash", function()
setup_flash({
jump_key = "<leader>s",
treesitter_key = "<leader>S",
})
end)
safe_setup("nvim-surround", function()
require("nvim-surround").setup({})
end)
safe_setup("plugins.native.git", function()
require("plugins.native.git").setup()
end)
safe_setup("plugins.native.tree", function()
require("plugins.native.tree").setup()
end)
safe_setup("plugins.native.statusline", function()
require("plugins.native.statusline").setup()
end)
safe_setup("plugins.native.treesitter", function()
require("plugins.native.treesitter").setup()
end)
safe_setup("plugins.native.which_key", function()
require("plugins.native.which_key").setup()
end)
safe_setup("plugins.native.window", function()
require("plugins.native.window").setup()
end)
end
return M
+23 -8
View File
@@ -1,5 +1,14 @@
local M = {}
local function safe_setup(label, fn)
local ok, err = pcall(fn)
if not ok then
vim.schedule(function()
vim.notify("Skipping " .. label .. ": " .. tostring(err), vim.log.levels.WARN)
end)
end
end
local function setup_flash(keys)
require("flash").setup({
modes = {
@@ -40,14 +49,20 @@ function M.setup()
local vscode = require("vscode")
vim.notify = vscode.notify
setup_flash({
toggle_search_key = "<leader><leader>/",
treesitter_key = "<leader>ct",
search = true,
char = false,
})
require("nvim-surround").setup({})
require("plugins.vscode.actions").setup(vscode)
safe_setup("flash", function()
setup_flash({
toggle_search_key = "<leader><leader>/",
treesitter_key = "<leader>ct",
search = true,
char = false,
})
end)
safe_setup("nvim-surround", function()
require("nvim-surround").setup({})
end)
safe_setup("plugins.vscode.actions", function()
require("plugins.vscode.actions").setup(vscode)
end)
end
return M