337 lines
17 KiB
Lua
337 lines
17 KiB
Lua
local status_ok, alpha = pcall(require, "alpha")
|
|
if not status_ok then
|
|
return
|
|
end
|
|
|
|
math.randomseed(os.time())
|
|
|
|
local C = {}
|
|
local R = {}
|
|
|
|
-- buttons
|
|
local function button(sc, txt, keybind)
|
|
local opts = {
|
|
position = "center",
|
|
shortcut = sc,
|
|
cursor = -1,
|
|
width = string.len(C.header[1]),
|
|
align_shortcut = "right",
|
|
hl_shortcut = "Keyword",
|
|
redraw_on_resize = false,
|
|
}
|
|
local function on_press()
|
|
local key = vim.api.nvim_replace_termcodes(keybind .. "<Ignore>", true, false, true)
|
|
vim.api.nvim_feedkeys(key, "t", false)
|
|
end
|
|
|
|
return {
|
|
type = "button",
|
|
val = txt,
|
|
on_press = on_press,
|
|
opts = opts,
|
|
}
|
|
end
|
|
|
|
-- actual config
|
|
C.bigheader = {
|
|
{
|
|
[[ |\ ]],
|
|
[[ ||. ]],
|
|
[[ ||;` ]],
|
|
[[ ,'|; : ]],
|
|
[[ ,': |; ` ]],
|
|
[[ ,' | ; `-` ]],
|
|
[[ ,' | ; : ]],
|
|
[[ ,' `-|; ` ]],
|
|
[[ ; ; ` ]],
|
|
[[ ,' `--\`-. `--: ]],
|
|
[[ ,-._,'`. |\||`-. ` ]],
|
|
[[ `;-.`-._`. | |\ \ `-. ` ]],
|
|
[[ :`--`-.`-\ `--.| /`\;\ `-: ]],
|
|
[[ ; ``-`. |/ ; \ `. ]],
|
|
[[ ; `.`-/ ; \ ` ]],
|
|
[[ ; : `/ ; \ ` ]],
|
|
[[ ,-._ | / ; -`\ : ]],
|
|
[[ `;-.`-._| : / | \ ` ]],
|
|
[[ ; `-.| : / | \ ` ]],
|
|
[[ ; | : : / | \ : ]],
|
|
[[ ; | : / ; | \ ` ]],
|
|
[[ ; | / ; | --`\ ` ]],
|
|
[[ | | : / ; | \ : ]],
|
|
[[ | : | : / ; \ ` ]],
|
|
[[ | : ; ;:'-.._ -`\ ` ]],
|
|
[[ | : ;___ ;'---....___;__:__| `-._ \ : ]],
|
|
[[ | : `;``-------'';|| : \ `-._ \` ]],
|
|
[[ -=======:===;===========;=|| : \ `-.\: ]],
|
|
[[ ___ ; _;_|| ; ||___,:-.\___,....__\_ ]],
|
|
[[ |`--:.|;_o||-______;,..-----""""" __|__...-'' ]],
|
|
[[----....|___ """" jrei__||-------........________]],
|
|
[[ """"----....____ __..--'' || ~~~~~ ]],
|
|
[[ ~~~ ~~~ """"----....____|/ ~~~~~~~ ~~~~~~~]],
|
|
[[~~~ ~~~~ ~~~~~~ ~ ~~~ ~~~~ ]],
|
|
[[ ~~~~~ ~~~ ~ ~~~~~~~~~ ~~~ ~~~~~~~~~~ ]],
|
|
},
|
|
{
|
|
[[ J\ ]],
|
|
[[ | \ ]],
|
|
[[ | `. ]],
|
|
[[ F `. ]],
|
|
[[ F \ ]],
|
|
[[ F \ ]],
|
|
[[ J `. ]],
|
|
[[ J `. _ ]],
|
|
[[ J \ |\ ]],
|
|
[[ |. `.J|\ ]],
|
|
[[ | `. `.L \ ]],
|
|
[[ | `. \L `. ]],
|
|
[[ J ` F `. ]],
|
|
[[ J F \ ]],
|
|
[[ J J \ ]],
|
|
[[ F | \ ]],
|
|
[[ F | `. ]],
|
|
[[ F F `. ]],
|
|
[[ | F \ ]],
|
|
[[ | J \ ]],
|
|
[[ | | \ ]],
|
|
[[ | | \ ]],
|
|
[[ J F \ ]],
|
|
[[----------J J \-------------]],
|
|
[[ L | \ ]],
|
|
[[~ O ======F \ ~ ]],
|
|
[[ ~ (\`-. / J \-. ~ ]],
|
|
[[ \_\/ )"L_ _\_) ]],
|
|
[[ >|`-.||[_][""""---------.'_.-\\ ~ ]],
|
|
[[~~ ~~~ \`-. J_ Veronica"""""\/"_.--'\\ ]],
|
|
[[ ~ `. "--._ _..--""" |\` ]],
|
|
[[ ~~ ~~ ~""-. """"""""""" | ]],
|
|
[[ ~~ ~ ~~ ~"----._--.-._--""""\|'\| ]],
|
|
[[ ~ ~~~ ~~ ~~~ ~~~~ `- `--.` ` ]],
|
|
[[~~~ ~~ ~~ ~~~~ ~~ ~ ]],
|
|
},
|
|
{
|
|
[[ . . ]],
|
|
[[ _..-''"""\ _.--'"""\ ]],
|
|
[[ | L | \ ]],
|
|
[[ _ / _.-.---.\. / .-.----.\ ]],
|
|
[[ _/-|--- _/<"---'"""""\\`. /-'--''"""""\ ]],
|
|
[[ | \ | L`.`-. | L ]],
|
|
[[ /_.-.---.L | \ \ `| J`. ]],
|
|
[[ _/--'"""" \ F \L \ | L ]],
|
|
[[ L `. L J _.---.-"""-.\`. L_/ _.--|"""""--.\ `. ]],
|
|
[[ | \+. /-"__.--'"""" \ `./'"---'"""""" \`. `. ]],
|
|
[[ F _____ \ `F" `. \ \ L `. ]],
|
|
[[ /.-'"_|---'"\ | ` JL | L `.`. ]],
|
|
[[ <-'"" \| _.-.------._ A J _.-.-----`.--| ``.`. ]],
|
|
[[ L `. |/.-'"_.-`---'""\."| /-'"---'""""" \`.\. \ `.`. ]],
|
|
[[ | _.------\.<'""" L\ L\ `.`\`. \ `. ]],
|
|
[[ _.-'//'"--'""" L\| ________\ `.F ___.-------._L \ `-\ \`. ]],
|
|
[[ /___| F F _.--'"_|-------L /_.-'"_.-|-'"""""""\ L L `.`. ]],
|
|
[[ | F _.-'|"""""/'"-'""" J <'""" L J | `.`. ]],
|
|
[[ |/-'-''/|""\ )-|\ F \ | L .'"""`\""-\\_ ]],
|
|
[[ F`-'-'-(`-') | \ F \ |___`"""`.""`.-'" ]],
|
|
[[------------/ `-'---| F L L __ |"""""`-'"__________]],
|
|
[[ .'_ | |__L __ J__ | _.--'"""" `".----'".' ]],
|
|
[[ '""""""""""""|--._+--F _.-'""||" """___/.-'" ||-'"/""""" \_. .' ]],
|
|
[[ J------------(___\__/'_____.--------'-------'"""""""" / ]],
|
|
[[ `-. _.__.__.__.____ J_.-._ ]],
|
|
[[ .'`-._ (-`--`---.'--._`---._.-'`-._.-'_.-'``-._' `-''-' ]],
|
|
},
|
|
{
|
|
[[ _____|\ ]],
|
|
[[ _.--| SSt |: ]],
|
|
[[ <____|.----|| ]],
|
|
[[ .---''---, ]],
|
|
[[ ;..__..' _... ]],
|
|
[[ ,'/ ;|/..--'' \ ]],
|
|
[[ ,'_/.-/': : ]],
|
|
[[ _..-'''/ / | \ \ _|/| ]],
|
|
[[ \ /-./_ \; \ \,;' \ ]],
|
|
[[ ,\ / \: `:\ \ // `:`. ]],
|
|
[[ ,' \ /-._; | : : :: ,. . ]],
|
|
[[ ,' :: /`-._| | | || ' : `.`.)]],
|
|
[[ _,' |;._:: | | | | `| : `' ]],
|
|
[[ ,' `. / |`-:_ ; | | | : \ ]],
|
|
[[ `--. ) /|-._: : | \ \ ]],
|
|
[[ / / :_| ;`-._; __..--'; : : ]],
|
|
[[ / ( ;|;-./_ _/.-:'o | / ' | ]],
|
|
[[ / , \._/_/_./--''/_|:|___|_,' | ]],
|
|
[[ : / `'-'--'----'---------' | ]],
|
|
[[ | : O ._O O_. O ._O O_. ; ; ]],
|
|
[[ : `. // // // // ,' / ]],
|
|
[[ ~~~`.______//____//____//____//_______,'~ ]],
|
|
[[ // //~ // // ]],
|
|
[[ ~~ _// _// _// ~ _// ~ ]],
|
|
[[ ~ / / / / / / / / ~ ~~ ]],
|
|
[[ ~~~ ~~~ ~~~ ~~~ ]],
|
|
},
|
|
{
|
|
[[ P___----.... ]],
|
|
[[ ! __ ]],
|
|
[[ ' ~~ ---.#..__ ` ~ ~ - - . .: ]],
|
|
[[ ` ~~--. .F~~___-__. ]],
|
|
[[ ; , .- . _! ]],
|
|
[[ , ' ; ~ . ]],
|
|
[[ , ____ ; ' _ ._ ; ]],
|
|
[[ ,_ . - '___#, ~~~ ---. _, . ' .#' ~ .; ]],
|
|
[[ =---==~~~ ~~~==--__ ; '~ -. ,#_ .' ]],
|
|
[[ ' `~=.; ` / ]],
|
|
[[ ' ' '. ]],
|
|
[[ ' ' ]],
|
|
[[ \ ' ' ' ]],
|
|
[[ `.`\ ' . ; , ]],
|
|
[[ \ ` ' ' ; ]],
|
|
[[ ; ' ' ' ]],
|
|
[[ /_ ., / __...---./ ' ]],
|
|
[[ ',_, __.--- ~~;#~ --..__ _'.-~;# // `.' ]],
|
|
[[ / / ~~ .' . #; ~~ /// #; // / ]],
|
|
[[ / ' . __ . ' ;#;_ . ////.;#;./ ; / ]],
|
|
[[ \ . / ,##' / _ /. '(/ ~||~\' ]],
|
|
[[ \ ` - . /_ . -==- ~ ' / (/ ' . ;;. ', ]],
|
|
[[ /' . ' -^^^...--- ``(/' _ ' '' `,; ]],
|
|
[[##,. .#...( ' .c c .c c c. '.. ;; ../ ]],
|
|
[[%%#%;,..##.\_ ,;###;,. ;;.:##;,. raf ]],
|
|
[[%%%%########%%%%;,.....,;%%%%%%;,.....,;%%%%%%%%%%%%%%%%%%%%............]],
|
|
},
|
|
{
|
|
[[ .. ]],
|
|
[[ .( )`-._ ]],
|
|
[[ .' || `._ ]],
|
|
[[ .' || `. ]],
|
|
[[ .' || `._ ]],
|
|
[[ .' _||_ `-. ]],
|
|
[[ .' |====| `.. ]],
|
|
[[ .' \__/ ( ) ]],
|
|
[[ ( ) || _ || ]],
|
|
[[ /|\ || .-` \ || ]],
|
|
[[ .' | ' || _.-' | || ]],
|
|
[[ / |\ \ || .' `.__.' || _.-.. ]],
|
|
[[ .' /| `. _.-' _.-' _.-.`-'`._`.` ]],
|
|
[[ \ .' | | .-.` `./ _.-`. `._.-' ]],
|
|
[[ |. | `. _.-' `. .' .' `._.`---` ]],
|
|
[[ .' | | : `._..-'.' `._..' || ]],
|
|
[[ / | \ `-._.' || || ]],
|
|
[[ | .'|`. | ||_.--.-._ || ]],
|
|
[[ ' / | \ \ __.--'\ `. : || ]],
|
|
[[ \ .' | \| ..-' \ `._-._.' || ]],
|
|
[[`.._ |/ | `. \ \ `._.- || ]],
|
|
[[ `-.._ / | \ `-.'_.--' || ]],
|
|
[[ `-.._.' | | | | _ _ _ _'_ _ _ _ _ ]],
|
|
[[ `-.._ | \ | | |_|_|_'|_|_|_|_|_|_| ]],
|
|
[[ [`--^-..._.' | | /....../| __ __ | ]],
|
|
[[ \`---.._|`--.._ | | /....../ | |__| |__| | ]],
|
|
[[ \__ _ `-.._| `-._|_|_ _ _/_ _ _ / | |__| |__| | ]],
|
|
[[ \ _o_ _`-._|_|_|_|_|_|_|_|_/ '-----------/ ]],
|
|
[[ \_`.|.' _ - .--.--.--.--.--.`--------------' ]],
|
|
[[ .```-._ ``-.._ \__ _ _ '--'--'--'--'--' - _ - _ __/ ]],
|
|
[[ .`-.```-._ ``-..__``.- `. _ - _ _ _ - _- _ __/(.``-._]],
|
|
[[ _.-` ``--.. .. _.-` ``--.. .. .._ _. __ __ _ __ ..--.._ / .( _..``]],
|
|
[[`.-._ `._ `- `-._ .`-.```-._ ``-..__``.- -._--.__---._--..-._`...```]],
|
|
[[ _.-` ``--.. .. `.-._ `._ `- `-._ .-_. ._.- -._ --.._`` _.-`LGB`-.]],
|
|
},
|
|
}
|
|
C.mediumheader = {
|
|
{
|
|
[[ |._ ]],
|
|
[[ |._( ]],
|
|
[[ <|.__..-'|. ]],
|
|
[[ ,| .|)\ ]],
|
|
[[ /| .|) \ ]],
|
|
[[ /.|) .|) \ ]],
|
|
[[ / .|) .|) \ ]],
|
|
[[ / .|) .|) \ ]],
|
|
[[ / .|) .|) \ ]],
|
|
[[ / ,--+---_ | \ , ]],
|
|
[[ '\==-,,;,,;,,;,,,,,,,-==;7 ]],
|
|
[[ _ \__...____...__ __/ _ seal _]],
|
|
[[ ~ ~~~~ ~~ ]],
|
|
},
|
|
{
|
|
[[ , ]],
|
|
[[ |"-,_ ]],
|
|
[[ I--(_ ]],
|
|
[[ ,I?8, ]],
|
|
[[ d|`888. ]],
|
|
[[ d8| 8888b ]],
|
|
[[ ,88| ?8888b ]],
|
|
[[ ,888| `88888b ]],
|
|
[[ ,8888| 8888g8b ]],
|
|
[[ ,88888| 888PX?8b ]],
|
|
[[ ,888888| 8888bd88, ]],
|
|
[[ o8888888| ,888888888 ]],
|
|
[[ d8888888P| d888888888b ]],
|
|
[[ _.d888gggg8'| 8gg88888888, ]],
|
|
[[ '\==-,,,,,,,,|/;,,,,,-==;7 ]],
|
|
[[ _ \__...____...__ __/ _ seal _]],
|
|
[[ ~ ~~~~ ~~ ]],
|
|
},
|
|
}
|
|
C.smallheader = {
|
|
{
|
|
[[ _~ ]],
|
|
[[ _~ )_)_~ ]],
|
|
[[ )_))_))_) ]],
|
|
[[ _!__!__!_ ]],
|
|
[[ \______t/ ]],
|
|
[[~~~~~~~~~~~~~]],
|
|
},
|
|
{
|
|
[[ __4___ ]],
|
|
[[ _ \ \ \ \ ]],
|
|
[[<'\ /_/_/_/ ]],
|
|
[[ ((____!___/)]],
|
|
[[ \0\0\0\0\/ ]],
|
|
},
|
|
{
|
|
[[ I\ ]],
|
|
[[ I \ ]],
|
|
[[ I \ ]],
|
|
[[ I*--\ ]],
|
|
[[ I \ ]],
|
|
[[ I \ ]],
|
|
[[ I______\ ]],
|
|
[[ _____I__O______ ]],
|
|
[[ \ ( ) b ^ ^]],
|
|
[[^^^^^^^^^^^^^^^^^ ^ ]],
|
|
},
|
|
{
|
|
[[ ^ +~+~~ ]],
|
|
[[ ^ )`.). ]],
|
|
[[ )``)``) .~~ ]],
|
|
[[ ).-'.-')|) ]],
|
|
[[ |-).-).-'_'-/ ]],
|
|
[[~~~\ `o-o-o' /~~~~~~~~~~~~~~~~~]],
|
|
[[ ~~~'---.____/~~Eric C. Liebl~~~]],
|
|
},
|
|
{
|
|
[[ ,_ ]],
|
|
[[ I~ ]],
|
|
[[ |\ ]],
|
|
[[ /|.\ ]],
|
|
[[ / || \ ]],
|
|
[[ ,' |' \ ]],
|
|
[[.-'.-==|/_--' ]],
|
|
[[`--'-------' _ seal _]],
|
|
}
|
|
}
|
|
|
|
R.width = vim.api.nvim_win_get_width(0)
|
|
R.height = vim.api.nvim_win_get_height(0)
|
|
|
|
C.header = C.bigheader[math.random(#C.bigheader)]
|
|
if #C.header >= R.height then
|
|
C.header = C.mediumheader[math.random(#C.mediumheader)]
|
|
if #C.header >= R.height then
|
|
C.header = C.smallheader[math.random(#C.smallheader)]
|
|
if #C.header >= R.height then
|
|
C.header = ""
|
|
end
|
|
end
|
|
end
|
|
|
|
alpha.setup {
|
|
layout = {
|
|
{ type = "padding", val = math.floor((R.height - #C.header) / 2) },
|
|
{ type = "text", val = C.header, opts = { position = 'center', hl = "AlphaHeader" } },
|
|
},
|
|
}
|