nvim/lua/plugins/alpha.lua
Evie Litherland-Smith 8be5da1fbc Add edgy with recommended config, adjust some plugins to work with it
Neotree is back on the side for edgy support
ToggleTerm back to horizontal rather than tab
2023-06-06 15:34:30 +01:00

61 lines
3.1 KiB
Lua

return {
"goolord/alpha-nvim",
cond = not vim.g.vscode,
event = "VimEnter",
opts = function()
local dashboard = require "alpha.themes.dashboard"
local logo = [[
██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z
██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z
██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z
██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z
███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║
╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
]]
dashboard.section.header.val = vim.split(logo, "\n")
dashboard.section.buttons.val = {
dashboard.button("t", "" .. " Terminal", "<cmd>ToggleTerm <CR>"),
dashboard.button("f", "" .. " Find file", "<cmd>Telescope find_files <CR>"),
dashboard.button("r", "" .. " Recent files", "<cmd>Telescope oldfiles <CR>"),
dashboard.button("n", "" .. " Neo-tree", "<cmd>Neotree <CR>"),
dashboard.button("g", "󰊢 " .. " Git status", "<cmd>Neogit <CR>"),
dashboard.button("c", "" .. " Config", "<cmd>e $MYVIMRC <CR>"),
dashboard.button("l", "󰒲 " .. " Lazy", "<cmd>Lazy<CR>"),
dashboard.button("h", "" .. " Help", "<cmd>Telescope help_tags <CR>"),
dashboard.button("q", "" .. " Quit", "<cmd>qa<CR>"),
}
for _, button in ipairs(dashboard.section.buttons.val) do
button.opts.hl = "AlphaButtons"
button.opts.hl_shortcut = "AlphaShortcut"
end
dashboard.section.header.opts.hl = "AlphaHeader"
dashboard.section.buttons.opts.hl = "AlphaButtons"
dashboard.section.footer.opts.hl = "AlphaFooter"
dashboard.opts.layout[1].val = 8
return dashboard
end,
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", {
pattern = "AlphaReady",
callback = function() require("lazy").show() end,
})
end
require("alpha").setup(dashboard.opts)
vim.api.nvim_create_autocmd("User", {
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.count .. " plugins in " .. ms .. "ms"
pcall(vim.cmd.AlphaRedraw)
end,
})
end,
}