summaryrefslogtreecommitdiff
path: root/lua/lvim/core/builtins/alpha.lua
diff options
context:
space:
mode:
authorLostNeophyte <[email protected]>2023-02-18 08:55:05 +0100
committerLostNeophyte <[email protected]>2023-02-18 08:55:05 +0100
commit8f70ecd882cf44567ddbffb469373501492938f9 (patch)
tree1498fd1de08c1aec46fa628701e1b5e9a47c4e3b /lua/lvim/core/builtins/alpha.lua
parent3144585515000a1c3064c6129ded74f662598de1 (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.lua87
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