Previously, lazy.nvim health checks required exactly Lua 5.1, causing
warnings on systems with newer Lua versions (5.2, 5.3, 5.4). This was
unnecessarily restrictive since LuaRocks can run on any Lua version 5.1+
to build packages.
Its true that Neovim plugins must be Lua 5.1 compatible (due to LuaJIT),
but the `--lua-version 5.1` flag tells luarocks to build for 5.1.
After some light testing, I verified a system with Lua 5.4 should be
able to build Lua 5.1-compatible packages just fine.
The key point is that this removes false warnings while maintaining the
same safety guarantees - LuaRocks with any modern Lua version can still
build packages targeting Lua 5.1 compatibility for Neovim.
Closes: #2020
## Description
When passing the `--dev` flag to `luarocks`, it will prioritise `dev`
versions when resolving dependencies (treating `dev` or `scm` as greater
than a SemVer version) if the rockspec doesn't specify an upper version
constraint (which is often the case).
Dev packages are often unstable and may cause more problems, especially
for Windows users (an example I've seen is git for windows trying and
failing to checkout submodules).
For now , a good compromise between too many retries and not retrying at
all could be to try `luarocks install` from the root manifest first, but
to keep the `--dev` flag in `luarocks make`.
If that still causes problems, it might be better to fall back to
`luarocks make` without `--dev` first, and then to try `luarocks ---dev
make` as a last resort.
In rocks.nvim, we only fall back to adding the `--dev` flag if the
install error message contains the string `"No results matching query
were found"`; assuming that stable non-dev packages shouldn't depend on
dev packages.