A dead simple lazy-loading library for Neovim plugins, focusing solely on plugin initialization.
lz.n is a minimal Lua library that provides abstractions for lazy-loading Neovim plugins. It offers a simple API to defer plugin loading until specific triggers like events, commands, or key mappings, helping to reduce Neovim startup time without the complexity of a full plugin manager.
Neovim users who want to lazy-load plugins with minimal overhead, especially those using plugin managers without built-in lazy-loading support (like vim.pack, paq-nvim, or Nix) or developers building Neovim distributions or plugin managers that need a lightweight lazy-loading component.
Developers choose lz.n for its focused, UNIX-philosophy approach: it does one thing (lazy-loading) well, avoiding the feature bloat of full plugin managers. Its plugin-manager-agnostic design and simple API make it easy to integrate into existing setups while reducing startup time.
🦥 A dead simple lazy-loading Lua library for Neovim plugins.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Strictly adheres to the UNIX philosophy by focusing only on lazy-loading, avoiding feature bloat and keeping the API simple and predictable, as emphasized in the README's philosophy section.
Works seamlessly with Neovim's built-in packpath or any plugin manager that supports manual lazy-loading, demonstrated by examples for vim.pack, paq-nvim, and Nix in the README.
Offers an API loosely based on lazy.nvim but reduced to basics, making it intuitive for defining lazy-loading triggers like events, commands, and key mappings, with clear plugin spec tables.
Provides before and after hooks to execute custom Lua functions during plugin loading, allowing for setup calls and configuration without cluttering the main spec, as shown in usage examples.
Lacks conveniences like automatic lazy-loading on require or colorscheme detection, requiring manual configuration for these cases, as admitted in the comparison with lazy.nvim.
Intentionally omits a dependencies field, forcing users to manage plugin interdependencies manually via hooks or external tools, which the README acknowledges can be cumbersome for non-compliant plugins.
Does not support merging conflicting plugin specs from multiple calls to load(), as stated in the README, potentially leading to issues in complex or collaborative setups.
lz.n is an open-source alternative to the following products: