mirror of https://github.com/folke/lazy.nvim.git
2.6 KiB
2.6 KiB
lazy.nvim
✨ Features
✅ TODO
- fancy UI to manage all your Neovim plugins
- auto lazy-loading of lua modules
- lazy-loading on events, commands, filetypes and key mappings
- Partial clones instead of shallow clones
- waits till missing deps are installed (bootstrap Neovim and start using it right away)
- Async
- No need to manually compile
- Fast. Automatically caches and compiles byte code of all lua modules needed during startup
- Correct sequencing of dependencies (deps should always be opt. Maybe make everything opt?)
- Config in multiple files
- dev option and patterns for local packages
- Profiling
- lockfile
lazy-lock.json
- upvalues in
config
&init
- check for updates
- commit, branch, tag, version support
- semver https://devhints.io/semver
- auto-loading on completion for lazy-loaded commands
- bootstrap code
- Background update checker
- statusline component to see number of pending updates
- 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
- status page showing running handlers and cache stats
- temp colorscheme used during startup when installing missing plugins
- automatically reloads when config changes are detected
- handlers imply opt
- dependencies imply opt for deps
- show spec errors in health
- fix plugin details
- show disabled plugins (strikethrough?)
- log file
- git tests
- Import specs from other plugin managers
- packspec
- add support to specify
engines
,os
andcpu
like 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
📦 Differences with Packer
-
Plugin Spec:
setup
=>init
requires
=>dependencies
as
=>name
opt
=>lazy
run
=>build
lock
=>pin
module
is auto-loaded. No need to specify