56 lines
1.9 KiB
Lua
56 lines
1.9 KiB
Lua
--- @module "plugins.dashboard.alpha"
|
|
--- This module defines the alpha plugin spec for the Neovim configuration.
|
|
-- ╭─────────────────────────────────────────────────────────╮
|
|
-- │ ALPHA │
|
|
-- ╰─────────────────────────────────────────────────────────╯
|
|
return { -- Alpha
|
|
"goolord/alpha-nvim",
|
|
event = "VimEnter",
|
|
enabled = require("data.func").check_global_var(
|
|
"dashboard",
|
|
"alpha",
|
|
"alpha"
|
|
),
|
|
opts = require("data.dash").alpha.opts,
|
|
config = function(_, dashboard)
|
|
-- close Lazy and re-open when the dashboard is ready
|
|
if vim.o.filetype == "lazy" then
|
|
vim.cmd.close()
|
|
vim.api.nvim_create_autocmd("User", {
|
|
once = true,
|
|
pattern = "AlphaReady",
|
|
callback = function()
|
|
require("lazy").show()
|
|
end,
|
|
})
|
|
end
|
|
|
|
-- Setup the dashboard
|
|
require("alpha").setup(dashboard.opts)
|
|
|
|
-- Open Alpha when Vim is started with no file arguments
|
|
vim.api.nvim_create_autocmd("User", {
|
|
once = true,
|
|
pattern = "LazyVimStarted",
|
|
callback = function()
|
|
local stats = require("lazy").stats()
|
|
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
|
dashboard.section.footer.val = " Neovim loaded "
|
|
.. stats.loaded
|
|
.. "/"
|
|
.. stats.count
|
|
.. " plugins in "
|
|
.. ms
|
|
.. "ms "
|
|
pcall(vim.cmd.AlphaRedraw)
|
|
|
|
-- Handle other plugins that may conflict
|
|
-- If auto-cursorline is installed, disable it
|
|
if pcall(require, "auto-cursorline") then
|
|
require("auto-cursorline").disable({ buffer = true })
|
|
end
|
|
end,
|
|
})
|
|
end,
|
|
}
|