summaryrefslogtreecommitdiffstats
path: root/after/plugin/startpage.lua
diff options
context:
space:
mode:
authorSquibid <me@zacharyscheiman.com>2023-10-22 18:17:21 -0400
committerSquibid <me@zacharyscheiman.com>2023-10-22 18:17:21 -0400
commit01729e261340a4462a57bf80f6e591c1371ae996 (patch)
tree67b6488d097ac04cb5d27d794b530ee15ce65593 /after/plugin/startpage.lua
parente522d7d3faa895c2722113b316d4fc8203158996 (diff)
downloadnvim-01729e261340a4462a57bf80f6e591c1371ae996.tar.gz
nvim-01729e261340a4462a57bf80f6e591c1371ae996.tar.bz2
nvim-01729e261340a4462a57bf80f6e591c1371ae996.zip
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
Diffstat (limited to '')
-rw-r--r--after/plugin/startpage.lua399
1 files changed, 89 insertions, 310 deletions
diff --git a/after/plugin/startpage.lua b/after/plugin/startpage.lua
index 68c0aec..6261b3f 100644
--- a/after/plugin/startpage.lua
+++ b/after/plugin/startpage.lua
@@ -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 _]],
- [[ ~ ~~~~ ~~ ]],
- },
-}
-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 _]],
- }
+local footer = {
+ '▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄',
}
-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,
+ }
}