From 9db98c7afb503f343fe6efdc41efa96dad374f93 Mon Sep 17 00:00:00 2001 From: bh Date: Fri, 10 Apr 2026 15:09:32 +0800 Subject: Add colours to the Neovim logo in the dashboard --- lua/config/dashboard.lua | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) (limited to 'lua') diff --git a/lua/config/dashboard.lua b/lua/config/dashboard.lua index b5dc2ed..8ccd6d9 100644 --- a/lua/config/dashboard.lua +++ b/lua/config/dashboard.lua @@ -14,26 +14,29 @@ local function quote() return lines end +local header_art = { + "│ ╲ │ │", + "│ ╲ │ │", + "│ │╲ ╲ │ │", + "│ │ ╲ ╲│ │", + "│ │ ╲ │", + "│ │ ╲ │", +} + db.setup { theme = "hyper", config = { week_header = { enable = false }, - header = { - "│ ╲ │ │", - "│ ╲ │ │", - "│ │╲ ╲ │ │", - "│ │ ╲ ╲│ │", - "│ │ ╲ │", - "│ │ ╲ │", + header = vim.list_extend(vim.list_extend({}, header_art), { " ", "Neovim v" .. vim.version().major .. '.' .. vim.version().minor .. '.' .. vim.version().patch, "  " .. os.date("%A, %B %d, %Y"), -- your custom date/day line "", "[TIP: To exit Vim, use a Sledgehammer!]", "" - }, + }), shortcut = { { icon = " ", @@ -86,4 +89,30 @@ db.setup { footer = quote(), }, } + +-- Two-tone header: blue left, green right +vim.api.nvim_set_hl(0, "DashboardHeaderBlue", { fg = "#3394D4" }) +vim.api.nvim_set_hl(0, "DashboardHeaderGreen", { fg = "#75B35F" }) +local ns = vim.api.nvim_create_namespace("dashboard_header_colours") + +vim.api.nvim_create_autocmd("User", { + pattern = "DashboardLoaded", + callback = function() + local bufnr = vim.api.nvim_get_current_buf() + if vim.bo[bufnr].filetype ~= "dashboard" then return end + for i, line in ipairs(vim.api.nvim_buf_get_lines(bufnr, 0, -1, false)) do + local trimmed = line:match("^%s*(.-)%s*$") + for _, a in ipairs(header_art) do + if trimmed == a then + local row = i - 1 + local col = line:find("%S") - 1 + local mid = col + vim.str_byteindex(trimmed, 4) + vim.api.nvim_buf_add_highlight(bufnr, ns, "DashboardHeaderBlue", row, col, mid) + vim.api.nvim_buf_add_highlight(bufnr, ns, "DashboardHeaderGreen", row, mid, col + #trimmed) + break + end + end + end + end, +}) end -- cgit v1.2.3