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 .. "", 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" } }, }, }