📰 What's new?
11.x
-
New Website: There's a whole new website with a fresh look and improved documentation. Check it out at https://lazy.folke.io. The GitHub
README.mdhas been updated to point to the new website. Thevimdoccontains all the information that is available on the website. -
Spec Resolution & Merging: the code that resolves a final spec from a plugin's fragments has been rewritten. This should be a tiny bit faster, but more importantly, fixes some issues and is easier to maintain.
-
Packages can now specify their dependencies and configuration using one of:
- Lazy:
lazy.luafile - Rockspec: luarocks
*-scm-1.rockspecfile - Packspec:
pkg.json(experimental, since the format is not quite there yet)
Related lazy.nvim options:
{
pkg = {
enabled = true,
cache = vim.fn.stdpath("state") .. "/lazy/pkg-cache.lua",
-- the first package source that is found for a plugin will be used.
sources = {
"lazy",
"rockspec", -- will only be used when rocks.enabled is true
"packspec",
},
},
rocks = {
enabled = true,
root = vim.fn.stdpath("data") .. "/lazy-rocks",
server = "https://nvim-neorocks.github.io/rocks-binaries/",
},
} - Lazy:
-
Installing neorg is now as simple as:
{ "nvim-neorg/neorg", opts = {} } -
Packages are not limited to just Neovim plugins. You can install any luarocks package, like:
{ "https://github.com/lubyk/yaml" }Luarocks packages without a
/luadirectory are never lazy-loaded, since it's just a library. -
buildfunctions or*.luabuild files (likebuild.lua) now run asynchronously. You can usecoroutine.yield(status_msg)to show progress. Yielding will also schedule the nextresumeto run in the next tick, so you can do long-running tasks without blocking Neovim.