diff --git a/lua/lvim/core/alpha.lua b/lua/lvim/core/alpha.lua index 58b787ed..8d69ebbc 100644 --- a/lua/lvim/core/alpha.lua +++ b/lua/lvim/core/alpha.lua @@ -4,8 +4,16 @@ function M.config() local lvim_dashboard = require "lvim.core.alpha.dashboard" local lvim_startify = require "lvim.core.alpha.startify" lvim.builtin.alpha = { - dashboard = { config = {}, section = lvim_dashboard.get_sections() }, - startify = { config = {}, section = lvim_startify.get_sections() }, + dashboard = { + config = {}, + section = lvim_dashboard.get_sections(), + opts = { autostart = true }, + }, + startify = { + config = {}, + section = lvim_startify.get_sections(), + opts = { autostart = true }, + }, active = true, mode = "dashboard", } @@ -23,6 +31,10 @@ local function resolve_buttons(theme_name, entries) local button_element = selected_theme.button(entry[1], entry[2], entry[3]) -- this became necessary after recent changes in alpha.nvim (06ade3a20ca9e79a7038b98d05a23d7b6c016174) button_element.on_press = on_press + + button_element.opts = + vim.tbl_extend("force", button_element.opts, entry[4] or lvim.builtin.alpha[theme_name].section.buttons.opts) + table.insert(val, button_element) end return val @@ -41,8 +53,13 @@ local function resolve_config(theme_name) resolved_section[name][k] = v end end + + resolved_section[name].opts = el.opts or {} end + local opts = lvim.builtin.alpha[theme_name].opts or {} + selected_theme.config.opts = vim.tbl_extend("force", selected_theme.config.opts, opts) + return selected_theme.config end diff --git a/lua/lvim/core/alpha/dashboard.lua b/lua/lvim/core/alpha/dashboard.lua index a1ba7c5a..26c7e053 100644 --- a/lua/lvim/core/alpha/dashboard.lua +++ b/lua/lvim/core/alpha/dashboard.lua @@ -114,31 +114,25 @@ function M.get_sections() hl = "Number", }, } - local buttons = {} - local status_ok, dashboard = pcall(require, "alpha.themes.dashboard") - if status_ok then - local function button(sc, txt, keybind, keybind_opts) - local b = dashboard.button(sc, txt, keybind, keybind_opts) - b.opts.hl_shortcut = "Include" - return b - end - buttons = { - val = { - button("f", lvim.icons.ui.FindFile .. " Find File", "Telescope find_files"), - button("n", lvim.icons.ui.NewFile .. " New File", "ene!"), - button("p", lvim.icons.ui.Project .. " Projects ", "Telescope projects"), - button("r", lvim.icons.ui.History .. " Recent files", ":Telescope oldfiles "), - button("t", lvim.icons.ui.FindText .. " Find Text", "Telescope live_grep"), - button( - "c", - lvim.icons.ui.Gear .. " Configuration", - "edit " .. require("lvim.config"):get_user_config_path() .. " " - ), + local buttons = { + opts = { + hl_shortcut = "Include", + spacing = 1, + }, + entries = { + { "f", lvim.icons.ui.FindFile .. " Find File", "Telescope find_files" }, + { "n", lvim.icons.ui.NewFile .. " New File", "ene!" }, + { "p", lvim.icons.ui.Project .. " Projects ", "Telescope projects" }, + { "r", lvim.icons.ui.History .. " Recent files", ":Telescope oldfiles " }, + { "t", lvim.icons.ui.FindText .. " Find Text", "Telescope live_grep" }, + { + "c", + lvim.icons.ui.Gear .. " Configuration", + "edit " .. require("lvim.config"):get_user_config_path() .. " ", }, - } - end - + }, + } return { header = header, buttons = buttons,