summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/lvim/core/alpha.lua13
1 files changed, 8 insertions, 5 deletions
diff --git a/lua/lvim/core/alpha.lua b/lua/lvim/core/alpha.lua
index 8d69ebbc..3fded29f 100644
--- a/lua/lvim/core/alpha.lua
+++ b/lua/lvim/core/alpha.lua
@@ -19,10 +19,14 @@ function M.config()
}
end
-local function resolve_buttons(theme_name, entries)
+local function resolve_buttons(theme_name, button_section)
+ if button_section.val and #button_section.val > 0 then
+ return button_section.val
+ end
+
local selected_theme = require("alpha.themes." .. theme_name)
local val = {}
- for _, entry in pairs(entries) do
+ for _, entry in pairs(button_section.entries) do
local on_press = function()
local sc_ = entry[1]:gsub("%s", ""):gsub("SPC", "<leader>")
local key = vim.api.nvim_replace_termcodes(sc_, true, false, true)
@@ -32,8 +36,7 @@ local function resolve_buttons(theme_name, entries)
-- 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)
+ button_element.opts = vim.tbl_extend("force", button_element.opts, entry[4] or button_section.opts or {})
table.insert(val, button_element)
end
@@ -48,7 +51,7 @@ local function resolve_config(theme_name)
for name, el in pairs(section) do
for k, v in pairs(el) do
if name:match "buttons" and k == "entries" then
- resolved_section[name].val = resolve_buttons(theme_name, v)
+ resolved_section[name].val = resolve_buttons(theme_name, el)
elseif v then
resolved_section[name][k] = v
end