diff options
author | LostNeophyte <[email protected]> | 2023-02-07 18:57:10 +0100 |
---|---|---|
committer | LostNeophyte <[email protected]> | 2023-02-07 18:57:10 +0100 |
commit | 620e51898275764502853f3908707ef71ce42313 (patch) | |
tree | 8705fe27dc7690b041d061b80fd1c4fd42387882 | |
parent | 24d8780d7392f444f852e646eb8e438b4c629850 (diff) |
refactor(builtins): centralize setting up builtins
-rw-r--r-- | lua/lvim/core/autopairs.lua | 4 | ||||
-rw-r--r-- | lua/lvim/core/breadcrumbs.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/bufferline.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/builtins/init.lua | 16 | ||||
-rw-r--r-- | lua/lvim/core/cmp.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/comment.lua | 4 | ||||
-rw-r--r-- | lua/lvim/core/dap.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/gitsigns.lua | 4 | ||||
-rw-r--r-- | lua/lvim/core/illuminate.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/indentlines.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/lir.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/lualine/init.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/nvimtree.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/project.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/telescope.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/terminal.lua | 5 | ||||
-rw-r--r-- | lua/lvim/core/treesitter.lua | 6 | ||||
-rw-r--r-- | lua/lvim/core/which-key.lua | 5 | ||||
-rw-r--r-- | lua/lvim/plugins.lua | 40 |
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, |