💤 A modern plugin manager for Neovim
Go to file
Roger Kim 80da254e64
fix(rocks): add lib64 plugin directory to package.cpath (#1717)
## Description
`package.cpath` is missing the `lib64` directory for plugins that have
luarocks dependencies.

## Context
I found this issue when I was working on my new Neovim plugin on my
Fedora 39 machine. I added the `luasockets` dependency to rockspec file
in my plugin like so:

```
rockspec_format = "3.0"
package = "typeracer.nvim"
version = "scm-1"
source = {
	url = "git+https://github.com/carbon-steel/typeracer.nvim",
}
dependencies = {
	"luasocket",
}
test_dependencies = {
	"nlua",
}
build = {
	type = "builtin",
	copy_directories = {},
}

```

I found that the dynamic libraries from the `luasockets` dependency were
installed like so:
`/home/username/.local/share/nvim/lazy-rocks/typeracer.nvim/lib64/lua/5.1/socket/core.so`.
However, the only entry related to my plugin `typeracer.nvim` was:
`/home/glyph/.local/share/nvim/lazy-rocks/typeracer.nvim/lib/lua/5.1/?.so`.
The issue is that we only have the plugin's `lib` directory in
`package.cpath` and not `lib64`.

I looked through `lazy.nvim`'s code and I think adding the `lib64`
directory should fix the issue. I don't know if we also want to worry
about `lib32` as well, but so far, this change works for me.
2024-08-31 08:58:43 +02:00
.github chore(main): release 11.14.1 (#1680) 2024-07-25 13:38:23 +02:00
doc chore(build): auto-generate docs 2024-07-18 13:57:58 +00:00
lua/lazy fix(rocks): add lib64 plugin directory to package.cpath (#1717) 2024-08-31 08:58:43 +02:00
scripts chore(update): update repository (#1638) 2024-07-13 10:07:17 +02:00
tests ci: update 2024-07-05 16:03:09 +02:00
.busted test: buse busted for running tasks 2024-06-26 14:30:55 +02:00
.editorconfig chore(update): update repository (#1653) 2024-07-15 17:09:32 +02:00
.gitignore ci: update 2024-07-06 23:45:30 +02:00
.markdownlint.yaml build: added markdownlint config 2022-12-19 19:09:54 +01:00
.neoconf.json perf: more cache optims 2023-02-14 11:00:56 +01:00
.styluaignore ci: add generated files to .styluaignore 2024-07-05 16:03:09 +02:00
CHANGELOG.md chore(main): release 11.14.1 (#1680) 2024-07-25 13:38:23 +02:00
LICENSE docs: added lincense 2022-12-20 17:56:21 +01:00
README.md chore(build): auto-generate docs 2024-06-24 15:42:27 +00:00
TODO.md style: fix some typo (#1496) 2024-06-03 09:18:43 +02:00
bootstrap.lua ci: use main for bootstrap 2024-07-04 18:05:36 +02:00
manifest ci: auto-get rockspec mappings for rock name => github short url or url 2024-06-25 17:41:16 +02:00
selene.toml fix(pkg): correctly pre-load package specs and remove them when needed during resolve 2024-06-24 17:15:10 +02:00
stylua.toml style: sort requires 2023-10-09 11:25:42 +02:00
vim.toml refactor: async processes 2024-06-28 16:08:26 +02:00

README.md

Install · Configure · Docs

lazy.nvim is a modern plugin manager for Neovim.

image

Features

  • 📦 Manage all your Neovim plugins with a powerful UI
  • 🚀 Fast startup times thanks to automatic caching and bytecode compilation of Lua modules
  • 💾 Partial clones instead of shallow clones
  • 🔌 Automatic lazy-loading of Lua modules and lazy-loading on events, commands, filetypes, and key mappings
  • Automatically install missing plugins before starting up Neovim, allowing you to start using it right away
  • 💪 Async execution for improved performance
  • 🛠️ No need to manually compile plugins
  • 🧪 Correct sequencing of dependencies
  • 📁 Configurable in multiple files
  • 📚 Generates helptags of the headings in README.md files for plugins that don't have vimdocs
  • 💻 Dev options and patterns for using local plugins
  • 📊 Profiling tools to optimize performance
  • 🔒 Lockfile lazy-lock.json to keep track of installed plugins
  • 🔎 Automatically check for updates
  • 📋 Commit, branch, tag, version, and full Semver support
  • 📈 Statusline component to see the number of pending updates
  • 🎨 Automatically lazy-loads colorschemes

Requirements

  • Neovim >= 0.8.0 (needs to be built with LuaJIT)
  • Git >= 2.19.0 (for partial clones support)
  • a Nerd Font (optional)
  • luarocks to install rockspecs. You can remove rockspec from opts.pkg.sources to disable this feature.

🚀 Getting Started

Check the documentation website for more information.