summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/lvim/core/autopairs.lua4
-rw-r--r--lua/lvim/core/breadcrumbs.lua5
-rw-r--r--lua/lvim/core/bufferline.lua5
-rw-r--r--lua/lvim/core/builtins/init.lua16
-rw-r--r--lua/lvim/core/cmp.lua5
-rw-r--r--lua/lvim/core/comment.lua4
-rw-r--r--lua/lvim/core/dap.lua5
-rw-r--r--lua/lvim/core/gitsigns.lua4
-rw-r--r--lua/lvim/core/illuminate.lua5
-rw-r--r--lua/lvim/core/indentlines.lua5
-rw-r--r--lua/lvim/core/lir.lua5
-rw-r--r--lua/lvim/core/lualine/init.lua5
-rw-r--r--lua/lvim/core/nvimtree.lua5
-rw-r--r--lua/lvim/core/project.lua5
-rw-r--r--lua/lvim/core/telescope.lua5
-rw-r--r--lua/lvim/core/terminal.lua5
-rw-r--r--lua/lvim/core/treesitter.lua6
-rw-r--r--lua/lvim/core/which-key.lua5
-rw-r--r--lua/lvim/plugins.lua40
19 files changed, 35 insertions, 104 deletions
diff --git a/lua/lvim/core/autopairs.lua b/lua/lvim/core/autopairs.lua
index b9b66683..c73e4fca 100644
--- a/lua/lvim/core/autopairs.lua
+++ b/lua/lvim/core/autopairs.lua
@@ -3,7 +3,6 @@ local M = {}
function M.config()
lvim.builtin.autopairs = {
active = true,
- on_config_done = nil,
---@usage modifies the function or method delimiter by filetypes
map_char = {
all = "(",
@@ -71,9 +70,6 @@ M.setup = function()
fast_wrap = lvim.builtin.autopairs.fast_wrap,
}
- if lvim.builtin.autopairs.on_config_done then
- lvim.builtin.autopairs.on_config_done(autopairs)
- end
pcall(function()
require "nvim-autopairs.completion.cmp"
require("cmp").event:off("confirm_done", on_confirm_done)
diff --git a/lua/lvim/core/breadcrumbs.lua b/lua/lvim/core/breadcrumbs.lua
index 0bf87a45..9b175bec 100644
--- a/lua/lvim/core/breadcrumbs.lua
+++ b/lua/lvim/core/breadcrumbs.lua
@@ -7,7 +7,6 @@ local icons = lvim.icons.kind
M.config = function()
lvim.builtin.breadcrumbs = {
active = true,
- on_config_done = nil,
winbar_filetype_exclude = {
"help",
"startify",
@@ -87,10 +86,6 @@ M.setup = function()
M.create_winbar()
navic.setup(lvim.builtin.breadcrumbs.options)
-
- if lvim.builtin.breadcrumbs.on_config_done then
- lvim.builtin.breadcrumbs.on_config_done()
- end
end
M.get_filename = function()
diff --git a/lua/lvim/core/bufferline.lua b/lua/lvim/core/bufferline.lua
index 27318a18..a10cf86f 100644
--- a/lua/lvim/core/bufferline.lua
+++ b/lua/lvim/core/bufferline.lua
@@ -43,7 +43,6 @@ end
M.config = function()
lvim.builtin.bufferline = {
active = true,
- on_config_done = nil,
keymap = {
normal_mode = {},
},
@@ -159,10 +158,6 @@ M.setup = function()
options = lvim.builtin.bufferline.options,
highlights = lvim.builtin.bufferline.highlights,
}
-
- if lvim.builtin.bufferline.on_config_done then
- lvim.builtin.bufferline.on_config_done()
- end
end
--stylua: ignore
diff --git a/lua/lvim/core/builtins/init.lua b/lua/lvim/core/builtins/init.lua
index 4764ff70..1a564cd6 100644
--- a/lua/lvim/core/builtins/init.lua
+++ b/lua/lvim/core/builtins/init.lua
@@ -23,7 +23,14 @@ local builtins = {
"lvim.core.mason",
}
+---@class LvimBuiltin
+---@field active boolean is builtin enabled
+---@field on_config_done function function called after the builtin is set up
+
function M.config(config)
+ ---@type {[string]: LvimBuiltin}
+ lvim.builtin = {}
+
for _, builtin_path in ipairs(builtins) do
local builtin = reload(builtin_path)
@@ -31,4 +38,13 @@ function M.config(config)
end
end
+function M.setup_builtin(modname)
+ require("lvim.core." .. modname).setup()
+
+ local builtin_tbl = lvim.builtin[string.gsub(modname, "-", "_")]
+ if type(builtin_tbl.on_config_done) == "function" then
+ builtin_tbl.on_config_done()
+ end
+end
+
return M
diff --git a/lua/lvim/core/cmp.lua b/lua/lvim/core/cmp.lua
index c116f122..e22e82c9 100644
--- a/lua/lvim/core/cmp.lua
+++ b/lua/lvim/core/cmp.lua
@@ -132,7 +132,6 @@ M.config = function()
lvim.builtin.cmp = {
active = true,
- on_config_done = nil,
enabled = function()
local buftype = vim.api.nvim_buf_get_option(0, "buftype")
if buftype == "prompt" then
@@ -371,10 +370,6 @@ function M.setup()
})
end
end
-
- if lvim.builtin.cmp.on_config_done then
- lvim.builtin.cmp.on_config_done(cmp)
- end
end
return M
diff --git a/lua/lvim/core/comment.lua b/lua/lvim/core/comment.lua
index f07929c7..f6a5facf 100644
--- a/lua/lvim/core/comment.lua
+++ b/lua/lvim/core/comment.lua
@@ -3,7 +3,6 @@ local M = {}
function M.config()
lvim.builtin.comment = {
active = true,
- on_config_done = nil,
---Add a space b/w comment and the line
---@type boolean
padding = true,
@@ -78,9 +77,6 @@ function M.setup()
local nvim_comment = require "Comment"
nvim_comment.setup(lvim.builtin.comment)
- if lvim.builtin.comment.on_config_done then
- lvim.builtin.comment.on_config_done(nvim_comment)
- end
end
return M
diff --git a/lua/lvim/core/dap.lua b/lua/lvim/core/dap.lua
index d8de10d5..7d6adfa8 100644
--- a/lua/lvim/core/dap.lua
+++ b/lua/lvim/core/dap.lua
@@ -3,7 +3,6 @@ local M = {}
M.config = function()
lvim.builtin.dap = {
active = true,
- on_config_done = nil,
breakpoint = {
text = lvim.icons.ui.Bug,
texthl = "DiagnosticSignError",
@@ -110,10 +109,6 @@ M.setup = function()
end
dap.set_log_level(lvim.builtin.dap.log.level)
-
- if lvim.builtin.dap.on_config_done then
- lvim.builtin.dap.on_config_done(dap)
- end
end
M.setup_ui = function()
diff --git a/lua/lvim/core/gitsigns.lua b/lua/lvim/core/gitsigns.lua
index 1c8619c8..9cb67a0b 100644
--- a/lua/lvim/core/gitsigns.lua
+++ b/lua/lvim/core/gitsigns.lua
@@ -3,7 +3,6 @@ local M = {}
M.config = function()
lvim.builtin.gitsigns = {
active = true,
- on_config_done = nil,
opts = {
signs = {
add = {
@@ -75,9 +74,6 @@ M.setup = function()
local gitsigns = reload "gitsigns"
gitsigns.setup(lvim.builtin.gitsigns.opts)
- if lvim.builtin.gitsigns.on_config_done then
- lvim.builtin.gitsigns.on_config_done(gitsigns)
- end
end
return M
diff --git a/lua/lvim/core/illuminate.lua b/lua/lvim/core/illuminate.lua
index 5968b4bb..f206c501 100644
--- a/lua/lvim/core/illuminate.lua
+++ b/lua/lvim/core/illuminate.lua
@@ -3,7 +3,6 @@ local M = {}
M.config = function()
lvim.builtin.illuminate = {
active = true,
- on_config_done = nil,
options = {
-- providers: provider used to get references in the buffer, ordered by priority
providers = {
@@ -63,10 +62,6 @@ M.setup = function()
if not config_ok then
return
end
-
- if lvim.builtin.illuminate.on_config_done then
- lvim.builtin.illuminate.on_config_done()
- end
end
return M
diff --git a/lua/lvim/core/indentlines.lua b/lua/lvim/core/indentlines.lua
index 3097daf8..98354a30 100644
--- a/lua/lvim/core/indentlines.lua
+++ b/lua/lvim/core/indentlines.lua
@@ -3,7 +3,6 @@ local M = {}
M.config = function()
lvim.builtin.indentlines = {
active = true,
- on_config_done = nil,
options = {
enabled = true,
buftype_exclude = { "terminal", "nofile" },
@@ -34,10 +33,6 @@ M.setup = function()
end
indent_blankline.setup(lvim.builtin.indentlines.options)
-
- if lvim.builtin.indentlines.on_config_done then
- lvim.builtin.indentlines.on_config_done()
- end
end
return M
diff --git a/lua/lvim/core/lir.lua b/lua/lvim/core/lir.lua
index 83f79b6f..14f1c51b 100644
--- a/lua/lvim/core/lir.lua
+++ b/lua/lvim/core/lir.lua
@@ -7,7 +7,6 @@ M.config = function()
lvim.builtin.lir = {
active = true,
- on_config_done = nil,
icon = "î—¿",
show_hidden_files = false,
ignore = {}, -- { ".DS_Store" "node_modules" } etc.
@@ -111,10 +110,6 @@ function M.setup()
lir.setup(lvim.builtin.lir)
M.icon_setup()
-
- if lvim.builtin.lir.on_config_done then
- lvim.builtin.lir.on_config_done(lir)
- end
end
return M
diff --git a/lua/lvim/core/lualine/init.lua b/lua/lvim/core/lualine/init.lua
index fa4cf821..f4f6adeb 100644
--- a/lua/lvim/core/lualine/init.lua
+++ b/lua/lvim/core/lualine/init.lua
@@ -29,7 +29,6 @@ M.config = function()
},
tabline = nil,
extensions = nil,
- on_config_done = nil,
}
end
@@ -48,10 +47,6 @@ M.setup = function()
require("lvim.core.lualine.styles").update()
lualine.setup(lvim.builtin.lualine)
-
- if lvim.builtin.lualine.on_config_done then
- lvim.builtin.lualine.on_config_done(lualine)
- end
end
return M
diff --git a/lua/lvim/core/nvimtree.lua b/lua/lvim/core/nvimtree.lua
index 26bd6d70..5e72e1ea 100644
--- a/lua/lvim/core/nvimtree.lua
+++ b/lua/lvim/core/nvimtree.lua
@@ -4,7 +4,6 @@ local Log = require "lvim.core.log"
function M.config()
lvim.builtin.nvimtree = {
active = true,
- on_config_done = nil,
setup = {
auto_reload_on_write = false,
disable_netrw = false,
@@ -269,10 +268,6 @@ function M.setup()
end
nvim_tree.setup(lvim.builtin.nvimtree.setup)
-
- if lvim.builtin.nvimtree.on_config_done then
- lvim.builtin.nvimtree.on_config_done(nvim_tree)
- end
end
function M.start_telescope(telescope_mode)
diff --git a/lua/lvim/core/project.lua b/lua/lvim/core/project.lua
index 17473c55..c78ebf61 100644
--- a/lua/lvim/core/project.lua
+++ b/lua/lvim/core/project.lua
@@ -6,8 +6,6 @@ function M.config()
--- This is on by default since it's currently the expected behavior.
active = true,
- on_config_done = nil,
-
---@usage set to true to disable setting the current-woriking directory
--- Manual mode doesn't automatically change your root directory, so you have
--- the option to manually do so using `:ProjectRoot` command.
@@ -59,9 +57,6 @@ function M.setup()
end
project.setup(lvim.builtin.project)
- if lvim.builtin.project.on_config_done then
- lvim.builtin.project.on_config_done(project)
- end
end
return M
diff --git a/lua/lvim/core/telescope.lua b/lua/lvim/core/telescope.lua
index b701f7e4..85f02509 100644
--- a/lua/lvim/core/telescope.lua
+++ b/lua/lvim/core/telescope.lua
@@ -11,7 +11,6 @@ function M.config()
lvim.builtin.telescope = {
---@usage disable telescope completely [not recommended]
active = true,
- on_config_done = nil,
theme = "dropdown", ---@type telescope_themes
defaults = {
prompt_prefix = lvim.icons.ui.Telescope .. " ",
@@ -136,10 +135,6 @@ function M.setup()
end)
end
- if lvim.builtin.telescope.on_config_done then
- lvim.builtin.telescope.on_config_done(telescope)
- end
-
if lvim.builtin.telescope.extensions and lvim.builtin.telescope.extensions.fzf then
pcall(function()
require("telescope").load_extension "fzf"
diff --git a/lua/lvim/core/terminal.lua b/lua/lvim/core/terminal.lua
index 663ba77a..71d74430 100644
--- a/lua/lvim/core/terminal.lua
+++ b/lua/lvim/core/terminal.lua
@@ -4,7 +4,6 @@ local Log = require "lvim.core.log"
M.config = function()
lvim.builtin["terminal"] = {
active = true,
- on_config_done = nil,
-- size can be a number or function which is passed the current terminal
size = 20,
open_mapping = [[<c-\>]],
@@ -98,10 +97,6 @@ M.setup = function()
M.add_exec(opts)
end
-
- if lvim.builtin.terminal.on_config_done then
- lvim.builtin.terminal.on_config_done(terminal)
- end
end
M.add_exec = function(opts)
diff --git a/lua/lvim/core/treesitter.lua b/lua/lvim/core/treesitter.lua
index a213b9d3..021e3d55 100644
--- a/lua/lvim/core/treesitter.lua
+++ b/lua/lvim/core/treesitter.lua
@@ -3,8 +3,6 @@ local Log = require "lvim.core.log"
function M.config()
lvim.builtin.treesitter = {
- on_config_done = nil,
-
-- A list of parser names, or "all"
ensure_installed = {},
@@ -111,10 +109,6 @@ function M.setup()
local opts = vim.deepcopy(lvim.builtin.treesitter)
treesitter_configs.setup(opts)
-
- if lvim.builtin.treesitter.on_config_done then
- lvim.builtin.treesitter.on_config_done(treesitter_configs)
- end
end
return M
diff --git a/lua/lvim/core/which-key.lua b/lua/lvim/core/which-key.lua
index ea79f03b..4cb956eb 100644
--- a/lua/lvim/core/which-key.lua
+++ b/lua/lvim/core/which-key.lua
@@ -3,7 +3,6 @@ M.config = function()
lvim.builtin.which_key = {
---@usage disable which-key completely [not recommended]
active = true,
- on_config_done = nil,
setup = {
plugins = {
marks = false, -- shows a list of your marks on ' and `
@@ -313,10 +312,6 @@ M.setup = function()
which_key.register(mappings, opts)
which_key.register(vmappings, vopts)
-
- if lvim.builtin.which_key.on_config_done then
- lvim.builtin.which_key.on_config_done(which_key)
- end
end
return M
diff --git a/lua/lvim/plugins.lua b/lua/lvim/plugins.lua
index d2efaf33..087ed7a3 100644
--- a/lua/lvim/plugins.lua
+++ b/lua/lvim/plugins.lua
@@ -17,7 +17,7 @@ local core_plugins = {
{
"williamboman/mason.nvim",
config = function()
- require("lvim.core.mason").setup()
+ require("lvim.core.builtins").setup_builtin "mason"
end,
cmd = { "Mason", "MasonInstall", "MasonUninstall", "MasonUninstallAll", "MasonLog" },
lazy = true,
@@ -39,7 +39,7 @@ local core_plugins = {
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
config = function()
- require("lvim.core.telescope").setup()
+ require("lvim.core.builtins").setup_builtin "telescope"
end,
dependencies = { "telescope-fzf-native.nvim" },
lazy = true,
@@ -51,9 +51,7 @@ local core_plugins = {
{
"hrsh7th/nvim-cmp",
config = function()
- if lvim.builtin.cmp then
- require("lvim.core.cmp").setup()
- end
+ require("lvim.core.builtins").setup_builtin "cmp"
end,
event = { "InsertEnter", "CmdlineEnter" },
dependencies = {
@@ -107,7 +105,7 @@ local core_plugins = {
"windwp/nvim-autopairs",
event = "InsertEnter",
config = function()
- require("lvim.core.autopairs").setup()
+ require("lvim.core.builtins").setup_builtin "autopairs"
end,
enabled = lvim.builtin.autopairs.active,
},
@@ -120,7 +118,7 @@ local core_plugins = {
local utils = require "lvim.utils"
local path = utils.join_paths(get_runtime_dir(), "site", "pack", "lazy", "opt", "nvim-treesitter")
vim.opt.rtp:prepend(path) -- treesitter needs to be before nvim's runtime in rtp
- require("lvim.core.treesitter").setup()
+ require("lvim.core.builtins").setup_builtin "treesitter"
end,
cmd = { "TSInstall", "TSUninstall", "TSUpdate", "TSInstallInfo", "TSInstallSync", "TSInstallFromGrammar" },
event = "User FileOpened",
@@ -135,7 +133,7 @@ local core_plugins = {
{
"kyazdani42/nvim-tree.lua",
config = function()
- require("lvim.core.nvimtree").setup()
+ require("lvim.core.builtins").setup_builtin "nvimtree"
end,
enabled = lvim.builtin.nvimtree.active,
cmd = { "NvimTreeToggle", "NvimTreeOpen", "NvimTreeFocus", "NvimTreeFindFileToggle" },
@@ -145,7 +143,7 @@ local core_plugins = {
{
"tamago324/lir.nvim",
config = function()
- require("lvim.core.lir").setup()
+ require("lvim.core.builtins").setup_builtin "lir"
end,
enabled = lvim.builtin.lir.active,
event = "User DirOpened",
@@ -153,7 +151,7 @@ local core_plugins = {
{
"lewis6991/gitsigns.nvim",
config = function()
- require("lvim.core.gitsigns").setup()
+ require("lvim.core.builtins").setup_builtin "gitsigns"
end,
event = "User FileOpened",
cmd = "Gitsigns",
@@ -164,7 +162,7 @@ local core_plugins = {
{
"folke/which-key.nvim",
config = function()
- require("lvim.core.which-key").setup()
+ require("lvim.core.builtins").setup_builtin "which-key"
end,
cmd = "WhichKey",
event = "VeryLazy",
@@ -175,7 +173,7 @@ local core_plugins = {
{
"numToStr/Comment.nvim",
config = function()
- require("lvim.core.comment").setup()
+ require("lvim.core.builtins").setup_builtin "comment"
end,
keys = { { "gc", mode = { "n", "v" } }, { "gb", mode = { "n", "v" } } },
event = "User FileOpened",
@@ -186,7 +184,7 @@ local core_plugins = {
{
"ahmedkhalf/project.nvim",
config = function()
- require("lvim.core.project").setup()
+ require("lvim.core.builtins").setup_builtin "project"
end,
enabled = lvim.builtin.project.active,
event = "VimEnter",
@@ -206,7 +204,7 @@ local core_plugins = {
"nvim-lualine/lualine.nvim",
-- "Lunarvim/lualine.nvim",
config = function()
- require("lvim.core.lualine").setup()
+ require("lvim.core.builtins").setup_builtin "lualine"
end,
event = "VimEnter",
enabled = lvim.builtin.lualine.active,
@@ -216,7 +214,7 @@ local core_plugins = {
{
"SmiteshP/nvim-navic",
config = function()
- require("lvim.core.breadcrumbs").setup()
+ require("lvim.core.builtins").setup_builtin "breadcrumbs"
end,
event = "User FileOpened",
enabled = lvim.builtin.breadcrumbs.active,
@@ -225,7 +223,7 @@ local core_plugins = {
{
"akinsho/bufferline.nvim",
config = function()
- require("lvim.core.bufferline").setup()
+ require("lvim.core.builtins").setup_builtin "bufferline"
end,
branch = "main",
event = "User FileOpened",
@@ -236,7 +234,7 @@ local core_plugins = {
{
"mfussenegger/nvim-dap",
config = function()
- require("lvim.core.dap").setup()
+ require("lvim.core.builtins").setup_builtin "dap"
end,
lazy = true,
enabled = lvim.builtin.dap.active,
@@ -256,7 +254,7 @@ local core_plugins = {
{
"goolord/alpha-nvim",
config = function()
- require("lvim.core.alpha").setup()
+ require("lvim.core.builtins").setup_builtin "alpha"
end,
enabled = lvim.builtin.alpha.active,
event = "VimEnter",
@@ -268,7 +266,7 @@ local core_plugins = {
event = "VeryLazy",
branch = "main",
config = function()
- require("lvim.core.terminal").setup()
+ require("lvim.core.builtins").setup_builtin "terminal"
end,
enabled = lvim.builtin.terminal.active,
},
@@ -282,7 +280,7 @@ local core_plugins = {
{
"RRethy/vim-illuminate",
config = function()
- require("lvim.core.illuminate").setup()
+ require("lvim.core.builtins").setup_builtin "illuminate"
end,
event = "User FileOpened",
enabled = lvim.builtin.illuminate.active,
@@ -291,7 +289,7 @@ local core_plugins = {
{
"lukas-reineke/indent-blankline.nvim",
config = function()
- require("lvim.core.indentlines").setup()
+ require("lvim.core.builtins").setup_builtin "indentlines"
end,
event = "User FileOpened",
enabled = lvim.builtin.indentlines.active,