Commit c85c37d
Changed files (3)
.config
nvim
lua
plugins
.config/nvim/lua/plugins/alpha.lua
@@ -0,0 +1,219 @@
+return {
+ "goolord/alpha-nvim",
+ dependencies = { "nvim-mini/mini.icons" },
+ event = "VimEnter",
+
+ config = function()
+ ------------------------------------------------------------------
+ -- Load Alpha
+ ------------------------------------------------------------------
+ local alpha = require("alpha")
+ local dashboard = require("alpha.themes.dashboard")
+ local utils = require("alpha.utils")
+
+ ------------------------------------------------------------------
+ -- ASCII Logo
+ ------------------------------------------------------------------
+ local fill = vim.fn.winheight(0) - 43
+ local logo = (fill >= 0 and [[
+
+
+
+
+
+
+
+
+
+
+ ]] or '') ..
+ [[
+
+ ███████████ █████ ██
+ ███████████ █████
+ ████████████████ ███████████ ███ ███████
+ ████████████████ ████████████ █████ ██████████████
+ █████████████████████████████ █████ █████ ████ █████
+ ██████████████████████████████████ █████ █████ ████ █████
+ ██████ ███ █████████████████ ████ █████ █████ ████ ██████
+ ██████ ██ ███████████████ ██ █████████████████
+
+ ]]
+
+ -- Header: Logo
+ -------------------------------------------------------------------
+ local header_lines = vim.split(logo, "\n")
+ table.insert(header_lines, "") -- spacer
+
+ dashboard.section.header.val = header_lines
+
+ ------------------------------------------------------------------
+ -- Optional: Logo Highlighting (kept from your theme)
+ ------------------------------------------------------------------
+ local header_hl = {}
+
+ if fill >= 0 then
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ table.insert(header_hl, { { "Red", 1, 1 } })
+ end
+ table.insert(header_hl, { { "AlphaHeader0_0", 46, 48 } }) -- Line 10
+ table.insert(header_hl, { -- Line 11
+ { "AlphaHeader1_0", 7, 22 },
+ { "AlphaHeader1_1", 33, 40 },
+ { "AlphaHeader1_2", 40, 50 }
+ })
+ table.insert(header_hl, { -- Line 12
+ { "AlphaHeader2_0", 6, 21 },
+ { "AlphaHeader2_1", 33, 45 },
+ })
+ table.insert(header_hl, { -- Line 13
+ { "AlphaHeader3_0", 6, 19 },
+ { "AlphaHeader3_1", 19, 20 },
+ { "AlphaHeader3_2", 20, 35 },
+ { "AlphaHeader3_3", 35, 45 },
+ { "AlphaHeader3_4", 45, 90 },
+ })
+ table.insert(header_hl, { -- Line 14
+ { "AlphaHeader4_0", 5, 18 },
+ { "AlphaHeader4_1", 18, 36 },
+ { "AlphaHeader4_2", 36, 45 },
+ { "AlphaHeader4_3", 45, 90 }
+ })
+ table.insert(header_hl, { -- Line 15
+ { "AlphaHeader5_0", 4, 17 },
+ { "AlphaHeader5_1", 17, 24 },
+ { "AlphaHeader5_2", 24, 28 },
+ { "AlphaHeader5_3", 28, 37 },
+ { "AlphaHeader5_4", 37, 46 },
+ { "AlphaHeader5_5", 46, 90 },
+ })
+ table.insert(header_hl, { -- Line 16
+ { "AlphaHeader6_0", 2, 17 },
+ { "AlphaHeader6_1", 17, 38 },
+ { "AlphaHeader6_2", 38, 45 },
+ { "AlphaHeader6_3", 46, 90 },
+ })
+ table.insert(header_hl, { -- Line 17
+ { "AlphaHeader7_0", 1, 17 },
+ { "AlphaHeader7_1", 17, 38 },
+ { "AlphaHeader7_2", 38, 45 },
+ { "AlphaHeader7_3", 46, 90 },
+ })
+ table.insert(header_hl, { -- Line 18
+ { "AlphaHeader8_0", 1, 37 },
+ { "AlphaHeader8_1", 37, 91 },
+ })
+
+
+ vim.api.nvim_set_hl(0, "AlphaHeader0_0", { fg = "#a6c9ab" })
+ vim.api.nvim_set_hl(0, "AlphaHeader1_0", { fg = "#bb7744" })
+ vim.api.nvim_set_hl(0, "AlphaHeader1_1", { fg = "#386c3f" })
+ vim.api.nvim_set_hl(0, "AlphaHeader1_2", { fg = "#a6c9ab" })
+ vim.api.nvim_set_hl(0, "AlphaHeader2_0", { fg = "#be7d46" })
+ vim.api.nvim_set_hl(0, "AlphaHeader2_1", { fg = "#3d7344" })
+ vim.api.nvim_set_hl(0, "AlphaHeader3_0", { fg = "#c18250" })
+ vim.api.nvim_set_hl(0, "AlphaHeader3_1", { fg = "#5c441e" })
+ vim.api.nvim_set_hl(0, "AlphaHeader3_2", { fg = "#d6c383" })
+ vim.api.nvim_set_hl(0, "AlphaHeader3_3", { fg = "#407b48" })
+ vim.api.nvim_set_hl(0, "AlphaHeader3_4", { fg = "#98c09c" })
+ vim.api.nvim_set_hl(0, "AlphaHeader4_0", { fg = "#c38950" })
+ vim.api.nvim_set_hl(0, "AlphaHeader4_1", { fg = "#e0c785" })
+ vim.api.nvim_set_hl(0, "AlphaHeader4_2", { fg = "#44844b" })
+ vim.api.nvim_set_hl(0, "AlphaHeader4_3", { fg = "#a0c4a3" })
+ vim.api.nvim_set_hl(0, "AlphaHeader5_0", { fg = "#c58f56" })
+ vim.api.nvim_set_hl(0, "AlphaHeader5_1", { fg = "#e2cb85" })
+ vim.api.nvim_set_hl(0, "AlphaHeader5_2", { fg = "#5c441e" })
+ vim.api.nvim_set_hl(0, "AlphaHeader5_3", { fg = "#e2cb85" })
+ vim.api.nvim_set_hl(0, "AlphaHeader5_4", { fg = "#488c51" })
+ vim.api.nvim_set_hl(0, "AlphaHeader5_5", { fg = "#a6c9ab" })
+ vim.api.nvim_set_hl(0, "AlphaHeader6_0", { fg = "#c7955b" })
+ vim.api.nvim_set_hl(0, "AlphaHeader6_1", { fg = "#e3cf88" })
+ vim.api.nvim_set_hl(0, "AlphaHeader6_2", { fg = "#4d9356" })
+ vim.api.nvim_set_hl(0, "AlphaHeader6_3", { fg = "#aecdb3" })
+ vim.api.nvim_set_hl(0, "AlphaHeader7_0", { fg = "#c89b62" })
+ vim.api.nvim_set_hl(0, "AlphaHeader7_1", { fg = "#e5d38a" })
+ vim.api.nvim_set_hl(0, "AlphaHeader7_2", { fg = "#509b59" })
+ vim.api.nvim_set_hl(0, "AlphaHeader7_3", { fg = "#b7d1b9" })
+ vim.api.nvim_set_hl(0, "AlphaHeader8_0", { fg = "#5c441e" })
+ vim.api.nvim_set_hl(0, "AlphaHeader8_1", { fg = "#2e4e2a" })
+
+
+ header_hl = utils.charhl_to_bytehl(header_hl, header_lines, false)
+ dashboard.section.header.opts.hl = header_hl
+
+ ------------------------------------------------------------------
+ -- Buttons
+ ------------------------------------------------------------------
+ local config_path = vim.fn.stdpath("config")
+
+ dashboard.section.buttons.val = {
+ dashboard.button("n", " New file", ":ene <BAR> startinsert<CR>"),
+ dashboard.button("r", " Recent files", ":Telescope oldfiles<CR>"),
+ dashboard.button("u", " Update plugins", "<cmd>Lazy update<CR>"),
+ dashboard.button("s", " Settings", ":e " .. config_path .. "/init.lua<CR>"),
+ dashboard.button("q", " Quit", "<cmd>q<CR>"),
+ }
+
+ dashboard.section.buttons.opts.spacing = 1
+ dashboard.section.buttons.opts.position = "center"
+
+ ------------------------------------------------------------------
+ -- Footer: Plugin Stats (loaded after Lazy starts)
+ ------------------------------------------------------------------
+ vim.api.nvim_create_autocmd("User", {
+ pattern = "LazyVimStarted",
+ once = true,
+ callback = function()
+ local stats = require("lazy").stats()
+ local ms = math.floor(stats.startuptime * 100 + 0.5) / 100
+
+ dashboard.section.footer.val = {
+ "",
+ "⚡ Loaded " .. stats.count .. " plugins in " .. ms .. " ms",
+ }
+
+ pcall(vim.cmd.AlphaRedraw)
+ end,
+ })
+
+ ------------------------------------------------------------------
+ -- Clean UI while dashboard is open
+ ------------------------------------------------------------------
+ local group = vim.api.nvim_create_augroup("AlphaCleanUI", {})
+
+ -- Hide ruler & showcmd in dashboard
+ vim.api.nvim_create_autocmd("User", {
+ group = group,
+ pattern = "AlphaReady",
+ callback = function()
+ vim.opt.showcmd = false
+ vim.opt.ruler = false
+ end,
+ })
+
+ -- Restore UI after leaving dashboard
+ vim.api.nvim_create_autocmd("BufUnload", {
+ group = group,
+ pattern = "<buffer>",
+ callback = function()
+ vim.opt.showcmd = true
+ vim.opt.ruler = true
+ end,
+ })
+
+ ------------------------------------------------------------------
+ -- Final setup
+ ------------------------------------------------------------------
+ dashboard.opts.opts.noautocmd = true
+ alpha.setup(dashboard.opts)
+ end,
+}
+
.config/nvim/lua/options.lua
@@ -41,3 +41,5 @@ opt.wrap = false
opt.ruler = false
opt.showmode = false
+
+opt.clipboard:append("unnamedplus")
.config/nvim/lazy-lock.json
@@ -1,11 +1,13 @@
{
- "catppuccin": { "branch": "main", "commit": "ce4a8e0d5267e67056f9f4dcf6cb1d0933c8ca00" },
- "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
+ "alpha-nvim": { "branch": "main", "commit": "a9d8fb72213c8b461e791409e7feabb74eb6ce73" },
+ "catppuccin": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
+ "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
+ "mini.icons": { "branch": "main", "commit": "68c178e0958d95b3977a771f3445429b1bded985" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
- "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
+ "nvim-web-devicons": { "branch": "master", "commit": "746ffbb17975ebd6c40142362eee1b0249969c5c" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope-git-branch.nvim": { "branch": "main", "commit": "acdc68011e07b349ead4c83c4c66cbdf061164b3" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },