perf(rocks): vim.fn.executable is slow on WSL2, so only check for luarocks when needed. Closes #1585

This commit is contained in:
Folke Lemaitre 2024-06-29 11:44:31 +02:00
parent 8dd947fccd
commit 9ab3061690
No known key found for this signature in database
GPG key ID: 41F8B1FBACAE2040
4 changed files with 21 additions and 11 deletions

View file

@ -49,8 +49,11 @@ M.defaults = {
enabled = true,
root = vim.fn.stdpath("data") .. "/lazy-rocks",
server = "https://nvim-neorocks.github.io/rocks-binaries/",
-- use hererocks to install luarocks.
hererocks = vim.fn.executable("luarocks") == 0,
-- use hererocks to install luarocks?
-- set to `nil` to use hererocks when luarocks is not found
-- set to `true` to always use hererocks
-- set to `false` to always use luarocks
hererocks = nil,
},
dev = {
---@type string | fun(plugin: LazyPlugin): string directory where you store your local plugin projects
@ -218,6 +221,13 @@ M.defaults = {
debug = false,
}
function M.hererocks()
if M.options.rocks.hererocks == nil then
M.options.rocks.hererocks = vim.fn.executable("luarocks") == 0
end
return M.options.rocks.hererocks
end
M.version = "11.8.1" -- x-release-please-version
M.ns = vim.api.nvim_create_namespace("lazy")

View file

@ -336,16 +336,16 @@ function M.load()
end
-- add hererocks when enabled and needed
if Config.options.rocks.hererocks then
for _, plugin in pairs(Config.spec.plugins) do
if plugin.build == "rockspec" then
for _, plugin in pairs(Config.spec.plugins) do
if plugin.build == "rockspec" then
if Config.hererocks() then
Config.spec.meta:add({
"luarocks/hererocks",
build = "rockspec",
lazy = true,
})
break
end
break
end
end