mirror of https://github.com/folke/lazy.nvim.git
b2339ade84 | ||
---|---|---|
.github | ||
doc | ||
lua/lazy | ||
tests | ||
.gitignore | ||
.neoconf.json | ||
CHANGELOG.md | ||
README.md | ||
stylua.toml |
README.md
lazy.nvim
✨ Features
- Partial clones instead of shallow clones
- waits till missing deps are installed (bootstrap Neovim and start using it right away)
- Async
- No need for compile
- Fast
- Correct sequencing of dependencies (deps should always be opt. Maybe make everything opt?)
- Import specs from Packer
- Config in multiple files
- Patterns for local packages
- Profiling
- lockfile
- upvalues in
config
&init
- check for updates
- package.lua
- package-lock.lua
- tag/version support
git tag --sort version:refname
- auto-loading on completion for lazy-loaded commands
- bootstrap code
- semver https://devhints.io/semver https://semver.npmjs.com/
✅ TODO
- health checks: check merge conflicts async
- allow setting up plugins through config
- support for Plugin.lock
- defaults for git log
- view keybindings for update/clean/...
- add profiler to view
- add buttons for actions
- show time taken for op in view
- package meta index (package.lua cache for all packages)
- auto lazy-loading of lua modules
- use uv file watcher to check for config changes
- clear errors
- add support for versions
git tag --sort v:refname
- rename requires to dependencies
- move tasks etc to Plugin.state
- handlers imply opt
- dependencies imply opt for deps
- fix local plugin spec
- investigate all opt=true. Simplifies logic (easily switch between opt/start afterwards)
- add support to specify
engines
,os
andcpu
like inpackage.json
📦 Differences with Packer
-
Plugin Spec:
setup
=>init
requires
=>dependencies
as
=>name