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 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) local function setup_flash(keys)
require("flash").setup({ require("flash").setup({
modes = { modes = {
@@ -65,17 +74,33 @@ function M.setup()
return return
end end
setup_flash({ safe_setup("flash", function()
jump_key = "<leader>s", setup_flash({
treesitter_key = "<leader>S", jump_key = "<leader>s",
}) treesitter_key = "<leader>S",
require("nvim-surround").setup({}) })
require("plugins.native.git").setup() end)
require("plugins.native.tree").setup() safe_setup("nvim-surround", function()
require("plugins.native.statusline").setup() require("nvim-surround").setup({})
require("plugins.native.treesitter").setup() end)
require("plugins.native.which_key").setup() safe_setup("plugins.native.git", function()
require("plugins.native.window").setup() 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 end
return M return M
+23 -8
View File
@@ -1,5 +1,14 @@
local M = {} 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) local function setup_flash(keys)
require("flash").setup({ require("flash").setup({
modes = { modes = {
@@ -40,14 +49,20 @@ function M.setup()
local vscode = require("vscode") local vscode = require("vscode")
vim.notify = vscode.notify vim.notify = vscode.notify
setup_flash({ safe_setup("flash", function()
toggle_search_key = "<leader><leader>/", setup_flash({
treesitter_key = "<leader>ct", toggle_search_key = "<leader><leader>/",
search = true, treesitter_key = "<leader>ct",
char = false, search = true,
}) char = false,
require("nvim-surround").setup({}) })
require("plugins.vscode.actions").setup(vscode) 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 end
return M return M