kitchen sink:
- add code action previews - change indent blankline style - more luasnip snippets - change default mason stuff - customize neorg more - change notify style - change startpage completely - add line info to statusline - change telescope style - change how todo comments look - make indentation work via treesitter
This commit is contained in:
@ -3,334 +3,113 @@ if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
math.randomseed(os.time())
|
||||
|
||||
local C = {}
|
||||
local R = {}
|
||||
|
||||
-- buttons
|
||||
local function button(sc, txt, keybind)
|
||||
local opts = {
|
||||
local function button(sc, txt, cmd, kopts, opts)
|
||||
opts = opts or {
|
||||
position = "center",
|
||||
shortcut = sc,
|
||||
cursor = -1,
|
||||
width = string.len(C.header[1]),
|
||||
shortcut = sc:gsub("<leader>", "LDR"),
|
||||
cursor = 0,
|
||||
width = 49,
|
||||
align_shortcut = "right",
|
||||
hl_shortcut = "Keyword",
|
||||
redraw_on_resize = false,
|
||||
hl_shortcut = "AlphaShortcut",
|
||||
hl = "AlphaText",
|
||||
}
|
||||
if cmd then
|
||||
kopts = kopts or { noremap = true, silent = true, nowait = true }
|
||||
opts.keymap = { "n", sc, cmd, kopts }
|
||||
end
|
||||
|
||||
local function on_press()
|
||||
local key = vim.api.nvim_replace_termcodes(keybind .. "<Ignore>", true, false, true)
|
||||
local key = vim.api.nvim_replace_termcodes(cmd, true, false, true)
|
||||
vim.api.nvim_feedkeys(key, "t", false)
|
||||
end
|
||||
|
||||
return {
|
||||
type = "button",
|
||||
val = txt,
|
||||
on_press = on_press,
|
||||
opts = opts,
|
||||
on_press = on_press,
|
||||
}
|
||||
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`-.]],
|
||||
},
|
||||
local header = {
|
||||
'█▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀ ▀▀▀█ █▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀ ▀▀▀█ ',
|
||||
'█ ░█████▀▀▀▀▀█████▓▄ ▀▀▀▀ ░ ░█ ░█ ░█ █ ',
|
||||
'█ ▒███████ ▓███████ ▒██ ▓███ ▓███ ▓███ █ ',
|
||||
'█ ▓███████ ▓███████ ▓█████████████████ █ ',
|
||||
'█ ▓███████ ▓███████ ███ ██████████████ █ ',
|
||||
'█ ▓███████ ▓███████ ███ ██████████████ █ ',
|
||||
'█ ▓███████ ▓███████ ███ ██████████████ █ ',
|
||||
'█ ▓███████ ▓███████ ███▄██████████████ █ ',
|
||||
'█ ▓███████ ▓███████ ██████▀▀██████████ █ ',
|
||||
'▀ ▓███████ ▓███████▄ ▄▄███████████ █ ',
|
||||
'█ ▓███████ ██████████████████ █▄▄▄',
|
||||
'█ ▓███████▀▀ ▀ ▀ ▀████████████████▄ ▄ █',
|
||||
'█▄▄▄▄▄▄▄ ▀ █▀▀▀▀▀▀▀▀▀▀▀▀█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█',
|
||||
' █ ▀ █ ',
|
||||
' ▀▀▀▀▀ ',
|
||||
}
|
||||
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 _]],
|
||||
[[ ~ ~~~~ ~~ ]],
|
||||
},
|
||||
local footer = {
|
||||
'▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄',
|
||||
}
|
||||
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" } },
|
||||
{ type = 'text', val = function()
|
||||
local padding = {}
|
||||
for i = 1, math.floor((vim.api.nvim_win_get_height(0) - #header - 6 - #footer) / 2), 1 do
|
||||
table.insert(padding, " ")
|
||||
end
|
||||
return padding
|
||||
end },
|
||||
{ type = 'text', val = header, opts = {
|
||||
position = 'center',
|
||||
hl = 'AlphaHeader',
|
||||
} },
|
||||
{ type = 'padding', val = 1 },
|
||||
{ type = 'group', val = {
|
||||
button('f', '? Find files', '<cmd>Telescope find_files<CR>'),
|
||||
button('r', '↺ Recent files', '<cmd>Telescope oldfiles <CR>'),
|
||||
button('n', '▣ Neorg workspace', '<cmd>Telescope neorg switch_workspace<CR>'),
|
||||
button('m', '≡ Menu', '<cmd>ConfigMenu<CR>'),
|
||||
button('q', '✖ Quit', '<cmd>wqa<CR>'),
|
||||
} },
|
||||
{ type = 'text', val = footer, opts = {
|
||||
position = 'center',
|
||||
hl = 'AlphaFooter',
|
||||
} },
|
||||
},
|
||||
opts = {
|
||||
keymap = {
|
||||
press = '<CR>',
|
||||
press_queue = nil
|
||||
},
|
||||
setup = function()
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'AlphaReady',
|
||||
desc = 'disable stuff for alpha',
|
||||
callback = function()
|
||||
vim.opt.laststatus = 0
|
||||
vim.opt.showtabline = 0
|
||||
vim.opt.more = false
|
||||
vim.opt.showcmd = false
|
||||
vim.opt.ruler = false
|
||||
vim.opt.number = false
|
||||
vim.opt.relativenumber = false
|
||||
end,
|
||||
})
|
||||
vim.api.nvim_create_autocmd('BufUnload', {
|
||||
buffer = 0,
|
||||
desc = 'enable stuff after alpha closes',
|
||||
callback = function()
|
||||
vim.opt.laststatus = 3
|
||||
vim.opt.showtabline = 2
|
||||
vim.opt.more = true
|
||||
vim.opt.showcmd = true
|
||||
vim.opt.ruler = true
|
||||
vim.opt.number = false
|
||||
vim.opt.relativenumber = false
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user