summaryrefslogtreecommitdiffstatshomepage
path: root/NvChad/lua/plugins/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'NvChad/lua/plugins/init.lua')
-rw-r--r--NvChad/lua/plugins/init.lua237
1 files changed, 237 insertions, 0 deletions
diff --git a/NvChad/lua/plugins/init.lua b/NvChad/lua/plugins/init.lua
new file mode 100644
index 0000000..2e83bdd
--- /dev/null
+++ b/NvChad/lua/plugins/init.lua
@@ -0,0 +1,237 @@
+local plugin_settings = require("core.utils").load_config().plugins
+local present, packer = pcall(require, plugin_settings.options.packer.init_file)
+
+if not present then
+ return false
+end
+
+local override_req = require("core.utils").override_req
+
+local plugins = {
+ { "NvChad/extensions" },
+ { "nvim-lua/plenary.nvim" },
+ { "lewis6991/impatient.nvim" },
+ { "nathom/filetype.nvim" },
+
+ {
+ "wbthomason/packer.nvim",
+ event = "VimEnter",
+ },
+
+ {
+ "NvChad/nvim-base16.lua",
+ after = "packer.nvim",
+ config = function()
+ require("colors").init()
+ end,
+ },
+
+ {
+ "kyazdani42/nvim-web-devicons",
+ after = "nvim-base16.lua",
+ config = override_req("nvim_web_devicons", "plugins.configs.icons", "setup"),
+ },
+
+ {
+ "feline-nvim/feline.nvim",
+ disable = not plugin_settings.status.feline,
+ after = "nvim-web-devicons",
+ config = override_req("feline", "plugins.configs.statusline", "setup"),
+ },
+
+ {
+ "akinsho/bufferline.nvim",
+ disable = not plugin_settings.status.bufferline,
+ after = "nvim-web-devicons",
+ config = override_req("bufferline", "plugins.configs.bufferline", "setup"),
+ setup = function()
+ require("core.mappings").bufferline()
+ end,
+ },
+
+ {
+ "lukas-reineke/indent-blankline.nvim",
+ disable = not plugin_settings.status.blankline,
+ event = "BufRead",
+ config = override_req("indent_blankline", "plugins.configs.others", "blankline"),
+ },
+
+ {
+ "NvChad/nvim-colorizer.lua",
+ disable = not plugin_settings.status.colorizer,
+ event = "BufRead",
+ config = override_req("nvim_colorizer", "plugins.configs.others", "colorizer"),
+ },
+
+ {
+ "nvim-treesitter/nvim-treesitter",
+ event = { "BufRead", "BufNewFile" },
+ config = override_req("nvim_treesitter", "plugins.configs.treesitter", "setup"),
+ run = ":TSUpdate",
+ },
+
+ -- git stuff
+ {
+ "lewis6991/gitsigns.nvim",
+ disable = not plugin_settings.status.gitsigns,
+ opt = true,
+ config = override_req("gitsigns", "plugins.configs.others", "gitsigns"),
+ setup = function()
+ require("core.utils").packer_lazy_load "gitsigns.nvim"
+ end,
+ },
+
+ -- lsp stuff
+
+ {
+ "neovim/nvim-lspconfig",
+ module = "lspconfig",
+ opt = true,
+ setup = function()
+ require("core.utils").packer_lazy_load "nvim-lspconfig"
+ -- reload the current file so lsp actually starts for it
+ vim.defer_fn(function()
+ vim.cmd 'if &ft == "packer" | echo "" | else | silent! e %'
+ end, 0)
+ end,
+ config = override_req("lspconfig", "plugins.configs.lspconfig"),
+ },
+
+ {
+ "ray-x/lsp_signature.nvim",
+ disable = not plugin_settings.status.lspsignature,
+ after = "nvim-lspconfig",
+ config = override_req("signature", "plugins.configs.others", "signature"),
+ },
+
+ {
+ "andymass/vim-matchup",
+ disable = not plugin_settings.status.vim_matchup,
+ opt = true,
+ setup = function()
+ require("core.utils").packer_lazy_load "vim-matchup"
+ end,
+ },
+
+ {
+ "max397574/better-escape.nvim",
+ disable = not plugin_settings.status.better_escape,
+ event = "InsertCharPre",
+ config = override_req("better_escape", "plugins.configs.others", "better_escape"),
+ },
+
+ -- load luasnips + cmp related in insert mode only
+
+ {
+ "rafamadriz/friendly-snippets",
+ module = "cmp_nvim_lsp",
+ disable = not plugin_settings.status.cmp,
+ event = "InsertEnter",
+ },
+
+ {
+ "hrsh7th/nvim-cmp",
+ disable = not plugin_settings.status.cmp,
+ after = "friendly-snippets",
+ config = override_req("nvim_cmp", "plugins.configs.cmp", "setup"),
+ },
+
+ {
+ "L3MON4D3/LuaSnip",
+ disable = not plugin_settings.status.cmp,
+ wants = "friendly-snippets",
+ after = "nvim-cmp",
+ config = override_req("luasnip", "plugins.configs.others", "luasnip"),
+ },
+
+ {
+ "saadparwaiz1/cmp_luasnip",
+ disable = not plugin_settings.status.cmp,
+ after = plugin_settings.options.cmp.lazy_load and "LuaSnip",
+ },
+
+ {
+ "hrsh7th/cmp-nvim-lua",
+ disable = not plugin_settings.status.cmp,
+ after = "cmp_luasnip",
+ },
+
+ {
+ "hrsh7th/cmp-nvim-lsp",
+ disable = not plugin_settings.status.cmp,
+ after = "cmp-nvim-lua",
+ },
+
+ {
+ "hrsh7th/cmp-buffer",
+ disable = not plugin_settings.status.cmp,
+ after = "cmp-nvim-lsp",
+ },
+
+ {
+ "hrsh7th/cmp-path",
+ disable = not plugin_settings.status.cmp,
+ after = "cmp-buffer",
+ },
+
+ -- misc plugins
+ {
+ "windwp/nvim-autopairs",
+ disable = not plugin_settings.status.autopairs,
+ after = plugin_settings.options.autopairs.loadAfter,
+ config = override_req("nvim_autopairs", "plugins.configs.others", "autopairs"),
+ },
+
+ {
+ disable = not plugin_settings.status.alpha,
+ "goolord/alpha-nvim",
+ config = override_req("alpha", "plugins.configs.alpha"),
+ },
+
+ {
+ "numToStr/Comment.nvim",
+ disable = not plugin_settings.status.comment,
+ module = "Comment",
+ keys = { "gcc" },
+ config = override_req("nvim_comment", "plugins.configs.others", "comment"),
+ setup = function()
+ require("core.mappings").comment()
+ end,
+ },
+
+ -- file managing , picker etc
+ {
+ "kyazdani42/nvim-tree.lua",
+ disable = not plugin_settings.status.nvimtree,
+ -- only set "after" if lazy load is disabled and vice versa for "cmd"
+ after = not plugin_settings.options.nvimtree.lazy_load and "nvim-web-devicons",
+ cmd = plugin_settings.options.nvimtree.lazy_load and { "NvimTreeToggle", "NvimTreeFocus" },
+ config = override_req("nvim_tree", "plugins.configs.nvimtree", "setup"),
+ setup = function()
+ require("core.mappings").nvimtree()
+ end,
+ },
+
+ {
+ "nvim-telescope/telescope.nvim",
+ module = "telescope",
+ cmd = "Telescope",
+ config = override_req("telescope", "plugins.configs.telescope", "setup"),
+ setup = function()
+ require("core.mappings").telescope()
+ end,
+ },
+}
+
+--label plugins for operational assistance
+plugins = require("core.utils").label_plugins(plugins)
+--remove plugins specified in chadrc
+plugins = require("core.utils").remove_default_plugins(plugins)
+--add plugins specified in chadrc
+plugins = require("core.utils").add_user_plugins(plugins)
+
+return packer.startup(function(use)
+ for _, v in pairs(plugins) do
+ use(v)
+ end
+end)