Selaa lähdekoodia

[Feature]: Add callbacks for plugins with a config entry for packer (#1042)

devtoi 4 vuotta sitten
vanhempi
commit
796148fb00
2 muutettua tiedostoa jossa 79 lisäystä ja 3 poistoa
  1. 20 1
      lua/default-config.lua
  2. 59 2
      lua/plugins.lua

+ 20 - 1
lua/default-config.lua

@@ -96,7 +96,26 @@ O = {
     -- 'matchit', 'matchparen', 'shada_plugin',
     -- 'matchit', 'matchparen', 'shada_plugin',
   },
   },
 
 
-  plugin = {},
+  plugin = {
+    lspinstall = {},
+    telescope = {},
+    compe = {},
+    autopairs = {},
+    treesitter = {},
+    formatter = {},
+    lint = {},
+    nvimtree = {},
+    gitsigns = {},
+    which_key = {},
+    comment = {},
+    rooter = {},
+    galaxyline = {},
+    bufferline = {},
+    dap = {},
+    dashboard = {},
+    terminal = {},
+    zen = {},
+  },
 
 
   -- TODO: refactor for tree
   -- TODO: refactor for tree
   auto_close_tree = 0,
   auto_close_tree = 0,

+ 59 - 2
lua/plugins.lua

@@ -8,7 +8,11 @@ return {
     "kabouzeid/nvim-lspinstall",
     "kabouzeid/nvim-lspinstall",
     event = "VimEnter",
     event = "VimEnter",
     config = function()
     config = function()
-      require("lspinstall").setup()
+      local lspinstall = require "lspinstall"
+      lspinstall.setup()
+      if O.plugin.lspinstall.on_config_done then
+        O.plugin.lspinstall.on_config_done(lspinstall)
+      end
     end,
     end,
   },
   },
 
 
@@ -19,7 +23,12 @@ return {
   -- Telescope
   -- Telescope
   {
   {
     "nvim-telescope/telescope.nvim",
     "nvim-telescope/telescope.nvim",
-    config = [[require('core.telescope').setup()]],
+    config = function()
+      require("core.telescope").setup()
+      if O.plugin.telescope.on_config_done then
+        O.plugin.telescope.on_config_done(require "telescope")
+      end
+    end,
   },
   },
 
 
   -- Autocomplete
   -- Autocomplete
@@ -28,6 +37,9 @@ return {
     -- event = "InsertEnter",
     -- event = "InsertEnter",
     config = function()
     config = function()
       require("core.compe").setup()
       require("core.compe").setup()
+      if O.plugin.compe.on_config_done then
+        O.plugin.compe.on_config_done(require "compe")
+      end
     end,
     end,
   },
   },
 
 
@@ -37,6 +49,9 @@ return {
     -- event = "InsertEnter",
     -- event = "InsertEnter",
     config = function()
     config = function()
       require "core.autopairs"
       require "core.autopairs"
+      if O.plugin.autopairs.on_config_done then
+        O.plugin.autopairs.on_config_done(require "nvim-autopairs")
+      end
     end,
     end,
   },
   },
 
 
@@ -50,6 +65,9 @@ return {
     "nvim-treesitter/nvim-treesitter",
     "nvim-treesitter/nvim-treesitter",
     config = function()
     config = function()
       require("core.treesitter").setup()
       require("core.treesitter").setup()
+      if O.plugin.treesitter.on_config_done then
+        O.plugin.treesitter.on_config_done(require "nvim-treesitter.configs")
+      end
     end,
     end,
   },
   },
 
 
@@ -58,6 +76,9 @@ return {
     "mhartington/formatter.nvim",
     "mhartington/formatter.nvim",
     config = function()
     config = function()
       require "core.formatter"
       require "core.formatter"
+      if O.plugin.formatter.on_config_done then
+        O.plugin.formatter.on_config_done(require "formatter")
+      end
     end,
     end,
   },
   },
 
 
@@ -66,6 +87,9 @@ return {
     "mfussenegger/nvim-lint",
     "mfussenegger/nvim-lint",
     config = function()
     config = function()
       require("core.linter").setup()
       require("core.linter").setup()
+      if O.plugin.lint.on_config_done then
+        O.plugin.lint.on_config_done(require "lint")
+      end
     end,
     end,
   },
   },
 
 
@@ -77,6 +101,9 @@ return {
     -- commit = "fd7f60e242205ea9efc9649101c81a07d5f458bb",
     -- commit = "fd7f60e242205ea9efc9649101c81a07d5f458bb",
     config = function()
     config = function()
       require("core.nvimtree").setup()
       require("core.nvimtree").setup()
+      if O.plugin.nvimtree.on_config_done then
+        O.plugin.nvimtree.on_config_done(require "nvim-tree.config")
+      end
     end,
     end,
   },
   },
 
 
@@ -85,6 +112,9 @@ return {
 
 
     config = function()
     config = function()
       require("core.gitsigns").setup()
       require("core.gitsigns").setup()
+      if O.plugin.gitsigns.on_config_done then
+        O.plugin.gitsigns.on_config_done(require "gitsigns")
+      end
     end,
     end,
     event = "BufRead",
     event = "BufRead",
   },
   },
@@ -94,6 +124,9 @@ return {
     "folke/which-key.nvim",
     "folke/which-key.nvim",
     config = function()
     config = function()
       require("core.which-key").setup()
       require("core.which-key").setup()
+      if O.plugin.which_key.on_config_done then
+        O.plugin.which_key.on_config_done(require "which-key")
+      end
     end,
     end,
     event = "BufWinEnter",
     event = "BufWinEnter",
   },
   },
@@ -108,6 +141,9 @@ return {
         return
         return
       end
       end
       nvim_comment.setup()
       nvim_comment.setup()
+      if O.plugin.comment.on_config_done then
+        O.plugin.comment.on_config_done(nvim_comment)
+      end
     end,
     end,
   },
   },
 
 
@@ -116,6 +152,9 @@ return {
     "airblade/vim-rooter",
     "airblade/vim-rooter",
     config = function()
     config = function()
       vim.g.rooter_silent_chdir = 1
       vim.g.rooter_silent_chdir = 1
+      if O.plugin.rooter.on_config_done then
+        O.plugin.rooter.on_config_done()
+      end
     end,
     end,
   },
   },
 
 
@@ -127,6 +166,9 @@ return {
     "glepnir/galaxyline.nvim",
     "glepnir/galaxyline.nvim",
     config = function()
     config = function()
       require "core.galaxyline"
       require "core.galaxyline"
+      if O.plugin.galaxyline.on_config_done then
+        O.plugin.galaxyline.on_config_done(require "galaxyline")
+      end
     end,
     end,
     event = "BufWinEnter",
     event = "BufWinEnter",
     disable = not O.plugin.galaxyline.active,
     disable = not O.plugin.galaxyline.active,
@@ -136,6 +178,9 @@ return {
     "romgrk/barbar.nvim",
     "romgrk/barbar.nvim",
     config = function()
     config = function()
       require "core.bufferline"
       require "core.bufferline"
+      if O.plugin.bufferline.on_config_done then
+        O.plugin.bufferline.on_config_done()
+      end
     end,
     end,
     event = "BufWinEnter",
     event = "BufWinEnter",
   },
   },
@@ -146,6 +191,9 @@ return {
     -- event = "BufWinEnter",
     -- event = "BufWinEnter",
     config = function()
     config = function()
       require("core.dap").setup()
       require("core.dap").setup()
+      if O.plugin.dap.on_config_done then
+        O.plugin.dap.on_config_done(require "dap")
+      end
     end,
     end,
     disable = not O.plugin.dap.active,
     disable = not O.plugin.dap.active,
   },
   },
@@ -166,6 +214,9 @@ return {
     event = "BufWinEnter",
     event = "BufWinEnter",
     config = function()
     config = function()
       require("core.dashboard").setup()
       require("core.dashboard").setup()
+      if O.plugin.dashboard.on_config_done then
+        O.plugin.dashboard.on_config_done(require "dashboard")
+      end
     end,
     end,
     disable = not O.plugin.dashboard.active,
     disable = not O.plugin.dashboard.active,
   },
   },
@@ -186,6 +237,9 @@ return {
     event = "BufWinEnter",
     event = "BufWinEnter",
     config = function()
     config = function()
       require("core.terminal").setup()
       require("core.terminal").setup()
+      if O.plugin.terminal.on_config_done then
+        O.plugin.terminal.on_config_done(require "toggleterm")
+      end
     end,
     end,
     disable = not O.plugin.terminal.active,
     disable = not O.plugin.terminal.active,
   },
   },
@@ -197,6 +251,9 @@ return {
     event = "BufRead",
     event = "BufRead",
     config = function()
     config = function()
       require("core.zen").setup()
       require("core.zen").setup()
+      if O.plugin.zen.on_config_done then
+        O.plugin.zen.on_config_done(require "zen-mode")
+      end
     end,
     end,
     disable = not O.plugin.zen.active,
     disable = not O.plugin.zen.active,
   },
   },