pojokcodeid.nvim-lazy/lua/user/dashboard.lua

70 lines
2.3 KiB
Lua
Raw Normal View History

2023-02-15 20:00:17 +07:00
local status_ok, alpha = pcall(require, "alpha")
if not status_ok then
2024-06-07 18:53:54 +07:00
return
2023-02-15 20:00:17 +07:00
end
local board = {
2024-06-07 18:53:54 +07:00
[[ _ _ _ ]],
[[ (_) | | | | ]],
[[ _ __ ___ _ ___ | | __ ___ ___ __| | ___ ]],
[[| '_ \ / _ \| |/ _ \| |/ / / __/ _ \ / _` |/ _ \]],
[[| |_) | (_) | | (_) | < | (_| (_) | (_| | __/]],
[[| .__/ \___/| |\___/|_|\_\ \___\___/ \__,_|\___|]],
[[| | _/ | ]],
[[|_| |__/ ]],
2023-02-15 20:00:17 +07:00
}
2024-05-21 14:20:50 +07:00
local data_board = vim.g.pcode_header2
if data_board ~= nil then
2024-06-07 18:53:54 +07:00
board = data_board
2023-02-15 20:00:17 +07:00
end
2024-06-07 18:53:54 +07:00
local dashboard = require "alpha.themes.dashboard"
2023-02-15 20:00:17 +07:00
dashboard.section.header.val = board
dashboard.section.buttons.val = {
2024-06-07 18:53:54 +07:00
dashboard.button("F", "󰈞 Find file", ":Telescope find_files <CR>"),
dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
dashboard.button("p", "󰉋 Find project", ":Telescope projects <CR>"),
dashboard.button("r", "󰦛 Recently used files", ":Telescope oldfiles <CR>"),
dashboard.button("t", "󰊄 Find text", ":Telescope live_grep <CR>"),
dashboard.button("c", " Configuration", ":e $MYVIMRC <CR>"),
dashboard.button("z", "󰒲 Lazy", ":Lazy<CR>"),
dashboard.button("q", "󰅚 Quit", ":qa<CR>"),
2023-02-15 20:00:17 +07:00
}
dashboard.section.footer.opts.hl = "Type"
dashboard.section.header.opts.hl = "Include"
dashboard.section.buttons.opts.hl = "Keyword"
dashboard.opts.opts.noautocmd = true
-- vim.cmd([[autocmd User AlphaReady echo 'ready']])
alpha.setup(dashboard.opts)
2024-03-31 16:35:21 +07:00
local footer_text = "Pojok Code"
2024-05-21 14:20:50 +07:00
local data_txt = vim.g.pcode_footer
if data_txt ~= nil then
2024-06-07 18:53:54 +07:00
footer_text = data_txt
2024-03-31 16:35:21 +07:00
end
vim.api.nvim_create_autocmd("User", {
2024-06-07 18:53:54 +07:00
pattern = "LazyVimStarted",
desc = "Add Alpha dashboard footer",
once = true,
callback = function()
local stats = require("lazy").stats()
local ms = math.floor(stats.startuptime * 100 + 0.5) / 100
dashboard.section.footer.val =
{ footer_text .. " " .. stats.loaded .. "/" .. stats.count .. " plugins  in " .. ms .. "ms" }
pcall(vim.cmd.AlphaRedraw)
end,
2024-03-31 16:35:21 +07:00
})
2024-04-18 07:17:54 +07:00
vim.api.nvim_create_autocmd({ "User" }, {
2024-06-07 18:53:54 +07:00
pattern = { "AlphaReady" },
callback = function()
vim.cmd [[
2024-04-18 07:17:54 +07:00
set laststatus=0 | autocmd BufUnload <buffer> set laststatus=3
2024-06-07 18:53:54 +07:00
]]
end,
2024-04-18 07:17:54 +07:00
})