local status_ok, alpha = pcall(require, "alpha") if not status_ok then return end local dashboard = require "alpha.themes.dashboard" local function button(sc, txt, keybind, keybind_opts) local b = dashboard.button(sc, txt, keybind, keybind_opts) b.opts.hl_shortcut = "Macro" return b end local icons = require "user.icons" -- dashboard.section.header.val = { -- [[ __ ]], -- [[ ___ ___ ___ __ __ /\_\ ___ ___ ]], -- [[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\ ]], -- [[/\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]], -- [[\ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]], -- [[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]], -- } -- dashboard.section.header.val = { -- [[ ▟▙ ]], -- [[ ▝▘ ]], -- [[ ██▃▅▇█▆▖ ▗▟████▙▖ ▄████▄ ██▄ ▄██ ██ ▗▟█▆▄▄▆█▙▖]], -- [[ ██▛▔ ▝██ ██▄▄▄▄██ ██▛▔▔▜██ ▝██ ██▘ ██ ██▛▜██▛▜██]], -- [[ ██ ██ ██▀▀▀▀▀▘ ██▖ ▗██ ▜█▙▟█▛ ██ ██ ██ ██]], -- [[ ██ ██ ▜█▙▄▄▄▟▊ ▀██▙▟██▀ ▝████▘ ██ ██ ██ ██]], -- [[ ▀▀ ▀▀ ▝▀▀▀▀▀ ▀▀▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀]], -- } -- ▄▀▀▄ ▀▄ ▄▀▀█▄▄▄▄ ▄▀▀▀▀▄ ▄▀▀▄ ▄▀▀▄ ▄▀▀█▀▄ ▄▀▀▄ ▄▀▄ -- █ █ █ █ ▐ ▄▀ ▐ █ █ █ █ █ █ █ █ █ █ ▀ █ -- ▐ █ ▀█ █▄▄▄▄▄ █ █ ▐ █ █ ▐ █ ▐ ▐ █ █ -- █ █ █ ▌ ▀▄ ▄▀ █ ▄▀ █ █ █ -- ▄▀ █ ▄▀▄▄▄▄ ▀▀▀▀ ▀▄▀ ▄▀▀▀▀▀▄ ▄▀ ▄▀ -- █ ▐ █ ▐ █ █ █ █ -- ▐ ▐ ▐ ▐ ▐ ▐ dashboard.section.header.val = { [[ , __ ___ __. _ __ ` , _ , _ ]], [[ |' `. .' ` .' \ | / | |' `|' `.]], [[ | | |----' | | ` / | | | |]], [[ / | `.___, `._.' \/ / / ' /]], } dashboard.section.buttons.val = { button("f", icons.documents.Files .. " Find file", ":Telescope find_files "), button("e", icons.ui.NewFile .. " New file", ":ene startinsert "), button("p", icons.git.Repo .. " Find project", ":lua require('telescope').extensions.projects.projects()"), button("r", icons.ui.History .. " Recent files", ":Telescope oldfiles "), button("t", icons.ui.List .. " Find text", ":Telescope live_grep "), button("c", icons.ui.Gear .. " Config", ":e ~/.config/nvim/init.lua "), button("u", icons.ui.CloudDownload .. " Update", ":PackerSync"), button("q", icons.ui.SignOut .. " Quit", ":qa"), } local function footer() -- NOTE: requires the fortune-mod package to work -- local handle = io.popen("fortune") -- local fortune = handle:read("*a") -- handle:close() -- return fortune return { [[┬┌┐┌┬┌─┬ ┌─┐┌┬┐┌┐ ┬ ┌─┐┌┬┐┌─┐┌─┐┌┬┐]], [[││││├┴┐│ ├┤ │ ├┴┐│ │ │ │ │ │ ││││]], [[┴┘└┘┴ ┴┴─┘└─┘ ┴ └─┘┴─┘└─┘ ┴o└─┘└─┘┴ ┴]], } end dashboard.section.footer.val = footer() dashboard.section.header.opts.hl = "Include" dashboard.section.buttons.opts.hl = "Macro" dashboard.section.footer.opts.hl = "Type" dashboard.opts.opts.noautocmd = true -- vim.cmd([[autocmd User AlphaReady echo 'ready']]) alpha.setup(dashboard.opts)