Something went wrong. Try again.
My own personal NeoVim configuration. Powered by vim.pack and lz.n
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169local M = {}
local logos = { { name = "default", lines = { [[ __]], [[ ___ ___ ___ __ __ /\_\ ___ ___]], [[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\]], [[ /\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \]], [[ \ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]], [[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]], }, }, { name = "box", lines = { [[ • ]], [[┏┓┏┓┏┓┓┏┓┏┳┓]], [[┛┗┗ ┗┛┗┛┗┛┗┗]], }, }, { name = "rounded", lines = { [[╭╮╷╭─╴╭─╮╷ ╷╷╭┬╮]], [[│╰┤├╴ │ ││╭╯││││]], [[╵ ╵╰─╴╰─╯╰╯ ╵╵ ╵]], }, }, { name = "blocks", lines = { [[▘ ]], [[▛▌█▌▛▌▌▌▌▛▛▌]], [[▌▌▙▖▙▌▚▘▌▌▌▌]], }, }, { name = "small", lines = { [[_ ]], [[ ___ ___ ___ _ _|_|_____ ]], [[| | -_| . | | | | |]], [[|_|_|___|___|\_/|_|_|_|_|]], }, }, { name = "term", lines = { [[__ ]], [[.-----.-----.-----.--.--.|__|.--------.]], [[| | -__| _ | | || || |]], [[|__|__|_____|_____|\___/ |__||__|__|__|]], }, }, { name = "term-alt", lines = { [[__ ]], [[ .-----.-----.-----.--.--|__.--------.]], [[ | | -__| _ | | | | |]], [[ |__|__|_____|_____|\___/|__|__|__|__|]], }, }, { name = "slant", lines = { [[ ________ ________ ________ ________ ________ ________ ]], [[ ╱ ╱ ╲╱ ╲╱ ╲╱ ╱ ╲ ╱ ╲╱ ╲]], [[ ╱ ╱ ╱ ╱ ╱_╱ ╱╱ ╱]], [[╱ ╱ _╱ ╱╲ ╱╱ ╱ ╱ ]], [[╲__╱_____╱╲________╱╲________╱ ╲______╱ ╲________╱╲__╱__╱__╱]], }, }, { name = "shadow", lines = { [[███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗]], [[████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║]], [[██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║]], [[██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║]], [[██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║]], [[╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝]], }, }, { name = "brick", lines = { [[███ ]], [[ ▒▒▒ ]], [[ ████████ ██████ ██████ █████ █████ ████ █████████████ ]], [[▒▒███▒▒███ ███▒▒███ ███▒▒███▒▒███ ▒▒███ ▒▒███ ▒▒███▒▒███▒▒███ ]], [[ ▒███ ▒███ ▒███████ ▒███ ▒███ ▒███ ▒███ ▒███ ▒███ ▒███ ▒███ ]], [[ ▒███ ▒███ ▒███▒▒▒ ▒███ ▒███ ▒▒███ ███ ▒███ ▒███ ▒███ ▒███ ]], [[ █████ █████▒▒██████ ▒▒██████ ▒▒█████ █████ █████▒███ █████]], [[▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒]], }, }, { name = "brick-shaded", lines = { [[███ ]], [[ ░░░ ]], [[ ████████ ██████ ██████ █████ █████ ████ █████████████ ]], [[░░███░░███ ███░░███ ███░░███░░███ ░░███ ░░███ ░░███░░███░░███ ]], [[ ░███ ░███ ░███████ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ]], [[ ░███ ░███ ░███░░░ ░███ ░███ ░░███ ███ ░███ ░███ ░███ ░███ ]], [[ █████ █████░░██████ ░░██████ ░░█████ █████ █████░███ █████]], [[░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░ ░░░░░]], }, }, { name = "poison", lines = { [[. . ]], [[b. 8 8 8888888888 ,o888888o. `8.`888b ,8' 8 8888 ,8. ,8. ]], [[888o. 8 8 8888 . 8888 `88. `8.`888b ,8' 8 8888 ,888. ,888. ]], [[Y88888o. 8 8 8888 ,8 8888 `8b `8.`888b ,8' 8 8888 .`8888. .`8888. ]], [[.`Y888888o. 8 8 8888 88 8888 `8b `8.`888b ,8' 8 8888 ,8.`8888. ,8.`8888. ]], [[8o. `Y888888o. 8 8 888888888888 88 8888 88 `8.`888b ,8' 8 8888 ,8'8.`8888,8^8.`8888. ]], [[8`Y8o. `Y88888o8 8 8888 88 8888 88 `8.`888b ,8' 8 8888 ,8' `8.`8888' `8.`8888. ]], [[8 `Y8o. `Y8888 8 8888 88 8888 ,8P `8.`888b8' 8 8888 ,8' `8.`88' `8.`8888. ]], [[8 `Y8o. `Y8 8 8888 `8 8888 ,8P `8.`888' 8 8888 ,8' `8.`' `8.`8888. ]], [[8 `Y8o.` 8 8888 ` 8888 ,88' `8.`8' 8 8888 ,8' `8 `8.`8888. ]], [[8 `Yo 8 888888888888 `8888888P' `8.` 8 8888 ,8' ` `8.`8888.]], }, },}
local function dims(entry) local height, width = #entry.lines, 0 for _, line in ipairs(entry.lines) do width = math.max(width, vim.fn.strdisplaywidth(line)) end return height, widthend
function M.pick() require("lz.n").trigger_load("alpha-nvim") local dashboard = require("alpha.themes.dashboard") local entries = vim.deepcopy(logos) table.sort(entries, function(a, b) local ah, aw = dims(a) local bh, bw = dims(b) if ah ~= bh then return ah < bh end return aw < bw end) vim.ui.select(entries, { prompt = "Dashboard logo", format_item = function(entry) local h, w = dims(entry) return string.format("%s (%dx%d)", entry.name, h, w) end, }, function(choice) if not choice then return end dashboard.section.header.val = choice.lines if vim.bo.filetype == "alpha" then require("alpha").redraw() end end)end
return M