diff options
Diffstat (limited to 'lua/lvim/plugins.lua')
-rw-r--r-- | lua/lvim/plugins.lua | 126 |
1 files changed, 64 insertions, 62 deletions
diff --git a/lua/lvim/plugins.lua b/lua/lvim/plugins.lua index 6a6c3db7..74de79e0 100644 --- a/lua/lvim/plugins.lua +++ b/lua/lvim/plugins.lua @@ -1,13 +1,14 @@ -- local require = require("lvim.utils.require").require local core_plugins = { - -- Packer can manage itself as an optional plugin - { "wbthomason/packer.nvim" }, - { "neovim/nvim-lspconfig" }, - { "tamago324/nlsp-settings.nvim" }, + { "folke/lazy.nvim", tag = "stable" }, { - "jose-elias-alvarez/null-ls.nvim", + "neovim/nvim-lspconfig", + lazy = true, + dependencies = { "mason-lspconfig.nvim", "nlsp-settings.nvim" }, }, - { "williamboman/mason-lspconfig.nvim" }, + { "williamboman/mason-lspconfig.nvim", lazy = true }, + { "tamago324/nlsp-settings.nvim", lazy = true }, + { "jose-elias-alvarez/null-ls.nvim", lazy = true }, { "williamboman/mason.nvim", config = function() @@ -31,14 +32,12 @@ local core_plugins = { config = function() require("lvim.core.telescope").setup() end, - disable = not lvim.builtin.telescope.active, - }, - { - "nvim-telescope/telescope-fzf-native.nvim", - requires = { "nvim-telescope/telescope.nvim" }, - run = "make", - disable = not lvim.builtin.telescope.active, + dependencies = { "telescope-fzf-native.nvim" }, + lazy = true, + cmd = "Telescope", + enabled = lvim.builtin.telescope.active, }, + { "nvim-telescope/telescope-fzf-native.nvim", build = "make", lazy = true, enabled = lvim.builtin.telescope.active }, -- Install nvim-cmp, and buffer source as a dependency { "hrsh7th/nvim-cmp", @@ -47,21 +46,25 @@ local core_plugins = { require("lvim.core.cmp").setup() end end, - requires = { - "L3MON4D3/LuaSnip", + event = { "InsertEnter", "CmdlineEnter" }, + dependencies = { + "cmp-nvim-lsp", + "cmp_luasnip", + "cmp-buffer", + "cmp-path", }, }, - { - "rafamadriz/friendly-snippets", - disable = not lvim.builtin.luasnip.sources.friendly_snippets, - }, + { "hrsh7th/cmp-nvim-lsp", lazy = true }, + { "saadparwaiz1/cmp_luasnip", lazy = true }, + { "hrsh7th/cmp-buffer", lazy = true }, + { "hrsh7th/cmp-path", lazy = true }, { "L3MON4D3/LuaSnip", config = function() local utils = require "lvim.utils" local paths = {} if lvim.builtin.luasnip.sources.friendly_snippets then - paths[#paths + 1] = utils.join_paths(get_runtime_dir(), "site", "pack", "packer", "start", "friendly-snippets") + paths[#paths + 1] = utils.join_paths(get_runtime_dir(), "site", "pack", "lazy", "opt", "friendly-snippets") end local user_snippets = utils.join_paths(get_config_dir(), "snippets") if utils.is_directory(user_snippets) then @@ -73,32 +76,25 @@ local core_plugins = { } require("luasnip.loaders.from_snipmate").lazy_load() end, + event = "InsertEnter", + dependencies = { + "friendly-snippets", + }, }, - { - "hrsh7th/cmp-nvim-lsp", - }, - { - "saadparwaiz1/cmp_luasnip", - }, - { - "hrsh7th/cmp-buffer", - }, - { - "hrsh7th/cmp-path", - }, + { "rafamadriz/friendly-snippets", lazy = true, cond = lvim.builtin.luasnip.sources.friendly_snippets }, { "folke/neodev.nvim", - module = "neodev", + lazy = true, }, -- Autopairs { "windwp/nvim-autopairs", - -- event = "InsertEnter", + event = "InsertEnter", config = function() require("lvim.core.autopairs").setup() end, - disable = not lvim.builtin.autopairs.active, + enabled = lvim.builtin.autopairs.active, }, -- Treesitter @@ -111,7 +107,7 @@ local core_plugins = { }, { "JoosepAlviste/nvim-ts-context-commentstring", - event = "BufReadPost", + event = "VeryLazy", }, -- NvimTree @@ -122,7 +118,7 @@ local core_plugins = { config = function() require("lvim.core.nvimtree").setup() end, - disable = not lvim.builtin.nvimtree.active, + enabled = lvim.builtin.nvimtree.active, }, -- Lir { @@ -130,17 +126,15 @@ local core_plugins = { config = function() require("lvim.core.lir").setup() end, - requires = { "kyazdani42/nvim-web-devicons" }, - disable = not lvim.builtin.lir.active, + enabled = lvim.builtin.lir.active, }, { "lewis6991/gitsigns.nvim", - config = function() require("lvim.core.gitsigns").setup() end, event = "BufRead", - disable = not lvim.builtin.gitsigns.active, + enabled = lvim.builtin.gitsigns.active, }, -- Whichkey @@ -149,8 +143,8 @@ local core_plugins = { config = function() require("lvim.core.which-key").setup() end, - event = "BufWinEnter", - disable = not lvim.builtin.which_key.active, + event = "VeryLazy", + enabled = lvim.builtin.which_key.active, }, -- Comments @@ -160,7 +154,7 @@ local core_plugins = { config = function() require("lvim.core.comment").setup() end, - disable = not lvim.builtin.comment.active, + enabled = lvim.builtin.comment.active, }, -- project.nvim @@ -169,13 +163,13 @@ local core_plugins = { config = function() require("lvim.core.project").setup() end, - disable = not lvim.builtin.project.active, + enabled = lvim.builtin.project.active, }, -- Icons { "kyazdani42/nvim-web-devicons", - disable = not lvim.use_icons, + enabled = lvim.use_icons, }, -- Status Line and Bufferline @@ -186,7 +180,7 @@ local core_plugins = { config = function() require("lvim.core.lualine").setup() end, - disable = not lvim.builtin.lualine.active, + enabled = lvim.builtin.lualine.active, }, -- breadcrumbs @@ -195,7 +189,7 @@ local core_plugins = { config = function() require("lvim.core.breadcrumbs").setup() end, - disable = not lvim.builtin.breadcrumbs.active, + enabled = lvim.builtin.breadcrumbs.active, }, { @@ -204,8 +198,7 @@ local core_plugins = { require("lvim.core.bufferline").setup() end, branch = "main", - event = "BufWinEnter", - disable = not lvim.builtin.bufferline.active, + enabled = lvim.builtin.bufferline.active, }, -- Debugging @@ -215,7 +208,7 @@ local core_plugins = { config = function() require("lvim.core.dap").setup() end, - disable = not lvim.builtin.dap.active, + enabled = lvim.builtin.dap.active, }, -- Debugger user interface @@ -224,7 +217,7 @@ local core_plugins = { config = function() require("lvim.core.dap").setup_ui() end, - disable = not lvim.builtin.dap.active, + enabled = lvim.builtin.dap.active, }, -- alpha @@ -233,23 +226,24 @@ local core_plugins = { config = function() require("lvim.core.alpha").setup() end, - disable = not lvim.builtin.alpha.active, + enabled = lvim.builtin.alpha.active, }, -- Terminal { "akinsho/toggleterm.nvim", - event = "BufWinEnter", + event = "VeryLazy", branch = "main", config = function() require("lvim.core.terminal").setup() end, - disable = not lvim.builtin.terminal.active, + enabled = lvim.builtin.terminal.active, }, -- SchemaStore { "b0o/schemastore.nvim", + lazy = true, }, { @@ -257,7 +251,8 @@ local core_plugins = { config = function() require("lvim.core.illuminate").setup() end, - disable = not lvim.builtin.illuminate.active, + event = "VeryLazy", + enabled = lvim.builtin.illuminate.active, }, { @@ -265,7 +260,7 @@ local core_plugins = { config = function() require("lvim.core.indentlines").setup() end, - disable = not lvim.builtin.indentlines.active, + enabled = lvim.builtin.indentlines.active, }, { @@ -279,7 +274,7 @@ local core_plugins = { end end) end, - disable = lvim.colorscheme ~= "onedarker", + enabled = lvim.colorscheme == "onedarker", }, { @@ -289,22 +284,29 @@ local core_plugins = { require("bigfile").config(lvim.builtin.bigfile.config) end) end, - disable = not lvim.builtin.bigfile.active, + enabled = lvim.builtin.bigfile.active, }, } local default_snapshot_path = join_paths(get_lvim_base_dir(), "snapshots", "default.json") local content = vim.fn.readfile(default_snapshot_path) -local default_sha1 = vim.fn.json_decode(content) +local default_sha1 = assert(vim.fn.json_decode(content)) + +-- taken form <https://github.com/folke/lazy.nvim/blob/c7122d64cdf16766433588486adcee67571de6d0/lua/lazy/core/plugin.lua#L27> +local get_short_name = function(long_name) + local name = long_name:sub(-4) == ".git" and long_name:sub(1, -5) or long_name + local slash = name:reverse():find("/", 1, true) --[[@as number?]] + return slash and name:sub(#name - slash + 2) or long_name:gsub("%W+", "_") +end local get_default_sha1 = function(spec) - local short_name, _ = require("packer.util").get_plugin_short_name(spec) + local short_name = get_short_name(spec[1]) return default_sha1[short_name] and default_sha1[short_name].commit end if not vim.env.LVIM_DEV_MODE then + -- Manually lock the commit hashes of core plugins for _, spec in ipairs(core_plugins) do - -- Manually lock the commit hash since Packer's snapshots are unreliable in headless mode spec["commit"] = get_default_sha1(spec) end end |