summaryrefslogtreecommitdiffstats
path: root/after/plugin/startpage.lua
blob: 68c0aec3e7ecb78b19a5e6745ee37be5f8ec21d2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
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" } },
  },
}