mirror of
https://github.com/folke/lazy.nvim.git
synced 2025-10-25 19:52:13 +00:00
No description
| .github | ||
| doc | ||
| lua/lazy | ||
| tests | ||
| .gitignore | ||
| .neoconf.json | ||
| CHANGELOG.md | ||
| README.md | ||
| selene.toml | ||
| stylua.toml | ||
| vim.toml | ||
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?)
- Config in multiple files
- Patterns for local packages
- Profiling
- lockfile
- upvalues in
config&init - check for updates
- lazy-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
- unsupported props or props from other managers
- other packages still in site?
- other package manager artifacts still present? compiled etc
- rename
runtobuild - delete lazy keymaps when a plugin loads
- temp colorscheme
- allow setting up plugins through config fooo
- task timeout
- log file
- deal with re-sourcing init.lua. Check a global?
- incorrect when switching TN from opt to start
- git tests
- max concurrency
- ui border
- make sure we can reload specs while keeping state
- show disabled plugins (strikethrough?)
- Import specs from other plugin managers
- use uv file watcher (or stat) to check for config changes
- packspec
- add support to specify
engines,osandcpulike inpackage.json - semver merging. Should check if two or more semver ranges are compatible and calculate the union range
- default semver merging strategy: if no version matches all, then use highest version?
- package meta index (package.lua cache for all packages)
- add support to specify
- 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
- auto lazy-loading of lua modules
- 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)
📦 Differences with Packer
-
Plugin Spec:
setup=>initrequires=>dependenciesas=>nameopt=>lazyrun=>buildlock=>pinmoduleis auto-loaded. No need to specify