lazy.nvim/doc/lazy.nvim.txt

127 lines
5.0 KiB
Plaintext
Raw Normal View History

2022-12-15 04:05:17 +08:00
*lazy.nvim.txt* For NVIM v0.5.0 Last change: 2022 December 14
2022-11-29 22:42:57 +08:00
==============================================================================
Table of Contents *lazy.nvim-table-of-contents*
1. lazy.nvim |lazy.nvim-lazy.nvim|
- Features |lazy.nvim-features|
- TODO |lazy.nvim-todo|
2022-12-15 04:07:51 +08:00
- Profiler |lazy.nvim-profiler|
2022-11-29 22:42:57 +08:00
- Differences with Packer |lazy.nvim-differences-with-packer|
2022-12-01 06:16:15 +08:00
- Other Neovim Plugin Managers in Lua|lazy.nvim-other-neovim-plugin-managers-in-lua|
2022-11-29 22:42:57 +08:00
==============================================================================
1. lazy.nvim *lazy.nvim-lazy.nvim*
2022-12-15 04:05:17 +08:00
Modern plugin manager for Neovim
2022-12-15 04:06:06 +08:00
<div class="figure">
<img src="https://user-images.githubusercontent.com/292349/207702945-6f1e7c89-9076-430b-b9e1-0bae8864a772.png" title="fig:"/>
<p class="caption">image</p>
</div>
2022-11-29 22:42:57 +08:00
FEATURES *lazy.nvim-features*
2022-12-15 04:05:17 +08:00
- Manage all your Neovim plugins with a fancy UI
- Fast startup: Automatically caches and compiles byte code of all lua modules needed during startup
- Partial clones instead of shallow clones
- Auto lazy-loading of lua modules
- Lazy-loading on events, commands, filetypes and key mappings
- Automatically installs missing plugins before starting up so you can start using Neovim right away
- Async execution for improved performance
- No need to manually compile plugins
- Correct sequencing of dependencies
- Configurable in multiple files
- Dev option and patterns for using local plugin
- Profiling tools to optimize performance
- Lockfile `lazy-lock.json` to keep track of installed plugin versions
- Automatically check for updates
- Commit, branch, tag, version, and full Semver <https://devhints.io/semver> support
- Statusline component to see the number of pending updates
2022-12-13 17:30:42 +08:00
TODO *lazy.nvim-todo*
2022-11-29 22:42:57 +08:00
2022-12-13 17:30:42 +08:00
- fancy UI to manage all your Neovim plugins
- auto lazy-loading of lua modules
- lazy-loading on events, commands, filetypes and key mappings
2022-11-29 22:42:57 +08:00
- Partial clones instead of shallow clones
2022-12-15 04:05:17 +08:00
- waits till missing deps are installed (bootstrap Neovim and start using it
right away)
2022-11-29 22:42:57 +08:00
- Async
2022-12-13 17:30:42 +08:00
- No need to manually compile
2022-12-15 04:05:17 +08:00
- 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?)
2022-11-29 22:42:57 +08:00
- Config in multiple files
2022-12-13 17:30:42 +08:00
- dev option and patterns for local packages
2022-11-29 22:42:57 +08:00
- Profiling
2022-12-13 17:30:42 +08:00
- lockfile `lazy-lock.json`
2022-11-29 22:42:57 +08:00
- upvalues in `config` & `init`
2022-12-15 04:05:17 +08:00
- automatically check for updates
- commit, branch, tag, version and full semver support
- statusline component to see number of pending updates
2022-12-13 17:30:42 +08:00
- semver https://devhints.io/semver
2022-11-29 22:42:57 +08:00
- auto-loading on completion for lazy-loaded commands
- bootstrap code
2022-12-13 17:30:42 +08:00
- Background update checker
- 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
2022-12-04 06:47:38 +08:00
- fix plugin details
- show disabled plugins (strikethrough?)
2022-12-01 06:16:15 +08:00
- log file
- git tests
2022-12-02 16:26:19 +08:00
- Import specs from other plugin managers
2022-12-01 06:16:15 +08:00
- packspec <https://github.com/nvim-lua/nvim-package-specification>
- add support to specify `engines`, `os` and `cpu` like in `package.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?
2022-12-02 16:26:19 +08:00
- package meta index (package.lua cache for all packages)
2022-11-29 22:42:57 +08:00
2022-12-15 04:07:51 +08:00
PROFILER *lazy.nvim-profiler*
<div class="figure">
<img src="https://user-images.githubusercontent.com/292349/207703263-3b38ca45-9779-482b-b684-4f8c3b3e76d0.png" title="fig:"/>
<p class="caption">image</p>
</div>
2022-11-29 22:42:57 +08:00
DIFFERENCES WITH PACKER *lazy.nvim-differences-with-packer*
- **Plugin Spec**:
- `setup` => `init`
- `requires` => `dependencies`
- `as` => `name`
2022-12-01 18:33:48 +08:00
- `opt` => `lazy`
2022-12-01 20:34:59 +08:00
- `run` => `build`
2022-12-02 16:26:19 +08:00
- `lock` => `pin`
- `module` is auto-loaded. No need to specify
2022-11-29 22:42:57 +08:00
2022-12-01 06:16:15 +08:00
OTHER NEOVIM PLUGIN MANAGERS IN LUA*lazy.nvim-other-neovim-plugin-managers-in-lua*
- packer.nvim <https://github.com/wbthomason/packer.nvim>
- paq-nvim <https://github.com/savq/paq-nvim>
- neopm <https://github.com/ii14/neopm>
- dep <https://github.com/chiyadev/dep>
- optpack.nvim <https://github.com/notomo/optpack.nvim>
2022-12-04 00:47:26 +08:00
- pact.nvim <https://github.com/rktjmp/pact.nvim>
2022-12-01 06:16:15 +08:00
2022-11-29 22:42:57 +08:00
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>
vim:tw=78:ts=8:noet:ft=help:norl: