diff options
author | LostNeophyte <[email protected]> | 2023-02-18 08:55:05 +0100 |
---|---|---|
committer | LostNeophyte <[email protected]> | 2023-02-18 08:55:05 +0100 |
commit | 8f70ecd882cf44567ddbffb469373501492938f9 (patch) | |
tree | 1498fd1de08c1aec46fa628701e1b5e9a47c4e3b /lua/lvim/core/builtins/alpha.lua | |
parent | 3144585515000a1c3064c6129ded74f662598de1 (diff) |
refactor(builtins): move builtins to lvim/builtinrefactor/builtins
Diffstat (limited to 'lua/lvim/core/builtins/alpha.lua')
-rw-r--r-- | lua/lvim/core/builtins/alpha.lua | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/lua/lvim/core/builtins/alpha.lua b/lua/lvim/core/builtins/alpha.lua deleted file mode 100644 index 3270d01b..00000000 --- a/lua/lvim/core/builtins/alpha.lua +++ /dev/null @@ -1,87 +0,0 @@ -local M = {} - -function M.config() - local lvim_dashboard = require "lvim.core.builtins.alpha.dashboard" - local lvim_startify = require "lvim.core.builtins.alpha.startify" - lvim.builtin.alpha = { - dashboard = { - config = {}, - section = lvim_dashboard.get_sections(), - opts = { autostart = true }, - }, - startify = { - config = {}, - section = lvim_startify.get_sections(), - opts = { autostart = true }, - }, - active = true, - mode = "dashboard", - } -end - -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(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) - vim.api.nvim_feedkeys(key, "normal", false) - end - 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 button_section.opts or {}) - - table.insert(val, button_element) - end - return val -end - -local function resolve_config(theme_name) - local selected_theme = require("alpha.themes." .. theme_name) - local resolved_section = selected_theme.section - local section = lvim.builtin.alpha[theme_name].section - - 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, el) - elseif v then - 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 - -function M.setup() - local status_ok, alpha = pcall(require, "alpha") - if not status_ok then - return - end - local mode = lvim.builtin.alpha.mode - local config = lvim.builtin.alpha[mode].config - - -- this makes it easier to use a completely custom configuration - if vim.tbl_isempty(config) then - config = resolve_config(mode) - end - - alpha.setup(config) - - return alpha -end - -return M |