diff options
author | Squibid <me@zacharyscheiman.com> | 2023-10-22 18:17:21 -0400 |
---|---|---|
committer | Squibid <me@zacharyscheiman.com> | 2023-10-22 18:17:21 -0400 |
commit | 01729e261340a4462a57bf80f6e591c1371ae996 (patch) | |
tree | 67b6488d097ac04cb5d27d794b530ee15ce65593 /after/plugin/startpage.lua | |
parent | e522d7d3faa895c2722113b316d4fc8203158996 (diff) | |
download | nvim-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 'after/plugin/startpage.lua')
-rw-r--r-- | after/plugin/startpage.lua | 399 |
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, + } } |