A neovim 0.12.x plugin manager with native vim.pack.add support and easy setup
- Lua 100%
| lua/foo | ||
| README.md | ||
foo
how to add plugins
-
simple/manual:
local foo = require("foo") foo:add({ "mason-org/mason.nvim", -- github slug will prepend https://github.com/ automatically opts = {} -- opts is just the config. Like in lazy, this gets called with mod.setup(opts) }) -
dependencies:
pm:add({ "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { -- also just the config for this module ensure_installed = { "shfmt", "shellcheck", }, }, deps = { -- call dependencies + config "mason-org/mason.nvim", opts = {}, }, }) -
auto plugin imports:
local pm = require("foo"):init({ plugins = "pika.plugins", -- this will look under your neovim location, then lua/pika/plugins (for this example) debug = false, }) pm.setup()Note
Configuration files can be just placed in the plugin folder, to automatically get pulled in and installed with the config you provided. It has a fairly lazy-nvim oriented layout:
return { "WhoIsSethDaniel/mason-tool-installer.nvim", -- resolves to https://github.com/WhoIsSeth... opts = { -- gets called with .setup(opts) ensure_installed = { "shfmt", "shellcheck", }, }, deps = { "mason-org/mason.nvim", after = function() -- gets called after the plugin was loaded vim.keymap.set("n", "<leader>M", ":Mason<cr>") end }, }