notes/config/nvim/lua/ui/alpha.lua

86 lines
4.1 KiB
Lua

local status_ok, alpha = pcall(require, "alpha")
if not status_ok then
print('alpha load error')
return
end
local ghidorah = {
'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀',
'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⣠⣦⣄⣀⣴⣦⣄⣈⣻⣿⣿⣿⣿⣿⣿⡇⠀',
'⠀⠀⠀⠀⠀⠀⣀⡀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀',
'⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⡿⠿⠛⠋⠉⠁⠀⠀⠀⠀⠀⠸⢿⣿⣷⣄⣀⠀⠀',
'⠀⠀⠀⣶⣶⣿⣿⣿⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀',
'⠀⣀⣠⣿⣿⣿⡿⠟⠁⠀⢀⣄⣀⣠⣦⣀⣠⣄⠀⢹⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀',
'⠀⣿⣿⣿⣿⡿⠁⣰⣷⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀',
'⠀⣿⣿⣿⣿⣷⣾⣿⣿⣿⣿⠟⠛⠉⠉⠉⠉⠙⢻⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀',
'⠀⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⠁⠀⠀⠹⠛⠁⠀⠀⠀',
'⠀⣿⣿⣿⣿⣿⣿⣿⣧⣤⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠙⣷⠄⠀⠀⠀⠀⠀⠀⠀',
'⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⡄⠀⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀',
'⠀⣿⣿⣿⣿⡿⠟⠛⠛⠛⠻⠿⣿⣿⣷⣤⣆⠀⣈⠻⣿⣿⣿⣿⣶⣶⣶⠆⠀⠀',
'⠀⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠉⠉⠀⠀⠀',
'⠀⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠹⢿⣿⣷⣄⣀⠀⠀⠀⠀',
'⠀⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠀⠀⠀⠀',
}
local pic = ghidorah
local ok, alphascreen = pcall(require, 'ui.alphascreen')
if ok then
pic = alphascreen.choose()
end
local dashboard = require("alpha.themes.dashboard")
dashboard.section.header.val = pic
dashboard.section.buttons.val = {
-- dashboard.button("f", " Find file", ":Telescope find_files <CR>"),
-- dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
-- dashboard.button("p", " Find project", ":Telescope projects <CR>"),
-- dashboard.button("r", " Recently used files", ":Telescope oldfiles <CR>"),
-- dashboard.button("t", " Find text", ":Telescope live_grep <CR>"),
-- dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua <CR>"),
-- dashboard.button("u", " Update plugins", ":Lazy<CR>"),
-- dashboard.button("q", " Quit Neovim", ":qa<CR>"),
dashboard.button("f", "🔎 Find file", ":Telescope find_files <CR>"),
-- dashboard.button("e", "📄 New file", ":ene <BAR> startinsert <CR>"),
-- dashboard.button("l", "⚙ Show plugins", ":Lazy<CR>"),
dashboard.button("l", "📦 Lazy manager", ":Lazy home<CR>"),
dashboard.button("p", "📁 Find projects", ":Telescope projects <CR>"),
dashboard.button("r", "🕒 Recent files", ":Telescope oldfiles <CR>"),
dashboard.button("t", "🧐 Search text", ":Telescope live_grep <CR>"),
dashboard.button("u", "🔄 Update plugins", ":Lazy update<CR>"),
dashboard.button("q", "⛔ Bye neovim", ":qa<CR>"),
}
local vim_footer = [[
__ ___ _ __ __ _
/ /__ _ _____ _______ ___/ (_)__ ___ _ _ __(_) /_/ / _ __(_)_ _
/ / _ \ |/ / -_) / __/ _ \/ _ / / _ \/ _ `/ | |/|/ / / __/ _ \ | |/ / / ' \
/_/\___/___/\__/ \__/\___/\_,_/_/_//_/\_, / |__,__/_/\__/_//_/ |___/_/_/_/_/
/___/
]]
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 "Love vim, love life."
return vim_footer
end
dashboard.section.footer.val = footer()
dashboard.section.footer.opts.hl = "Type"
dashboard.section.header.opts.hl = "Include"
dashboard.section.buttons.opts.hl = "Keyword"
dashboard.opts.opts.noautocmd = true
-- vim.cmd([[autocmd User AlphaReady echo 'ready']])
alpha.setup(dashboard.opts)
vim.cmd("color tokyonight-moon")
vim.cmd([[
augroup _alpha
autocmd!
autocmd User AlphaReady set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2
augroup end
]])