--- @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, }