📰 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.md
has been updated to point to the new website. Thevimdoc
contains 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.lua
file - Rockspec: luarocks
*-scm-1.rockspec
file - 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
/lua
directory are never lazy-loaded, since it's just a library. -
build
functions or*.lua
build files (likebuild.lua
) now run asynchronously. You can usecoroutine.yield(status_msg)
to show progress. Yielding will also schedule the nextresume
to run in the next tick, so you can do long-running tasks without blocking Neovim.