mirror of https://github.com/folke/lazy.nvim.git
feat: added `opts.git.cooldown` to allow updating plugins on slow connections. Fixes #1656
This commit is contained in:
parent
839f9e78e7
commit
d5686efbd0
|
@ -41,6 +41,10 @@ M.defaults = {
|
||||||
rate = 2,
|
rate = 2,
|
||||||
duration = 5 * 1000, -- in ms
|
duration = 5 * 1000, -- in ms
|
||||||
},
|
},
|
||||||
|
-- Time in seconds to wait before running fetch again for a plugin.
|
||||||
|
-- Repeated update/check operations will not run again until this
|
||||||
|
-- cooldown period has passed.
|
||||||
|
cooldown = 0,
|
||||||
},
|
},
|
||||||
pkg = {
|
pkg = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
|
|
@ -40,6 +40,15 @@ function throttle.wait()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---@param plugin LazyPlugin
|
||||||
|
local function cooldown(plugin)
|
||||||
|
if not plugin._.last_check then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local delta = (vim.uv.now() - plugin._.last_check) / 1000
|
||||||
|
return delta < Config.options.git.cooldown
|
||||||
|
end
|
||||||
|
|
||||||
---@type table<string, LazyTaskDef>
|
---@type table<string, LazyTaskDef>
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
@ -266,7 +275,7 @@ M.status = {
|
||||||
-- fetches all needed origin branches
|
-- fetches all needed origin branches
|
||||||
M.fetch = {
|
M.fetch = {
|
||||||
skip = function(plugin)
|
skip = function(plugin)
|
||||||
return not plugin._.installed or plugin._.is_local
|
return not plugin._.installed or plugin._.is_local or cooldown(plugin)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
---@async
|
---@async
|
||||||
|
@ -287,6 +296,11 @@ M.fetch = {
|
||||||
self:spawn("git", {
|
self:spawn("git", {
|
||||||
args = args,
|
args = args,
|
||||||
cwd = self.plugin.dir,
|
cwd = self.plugin.dir,
|
||||||
|
on_exit = function(ok)
|
||||||
|
if ok then
|
||||||
|
self.plugin._.last_check = vim.uv.now()
|
||||||
|
end
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
---@field tasks? LazyTask[]
|
---@field tasks? LazyTask[]
|
||||||
---@field updated? {from:string, to:string}
|
---@field updated? {from:string, to:string}
|
||||||
---@field updates? {from:GitInfo, to:GitInfo}
|
---@field updates? {from:GitInfo, to:GitInfo}
|
||||||
|
---@field last_check? number
|
||||||
---@field working? boolean
|
---@field working? boolean
|
||||||
---@field pkg? LazyPkg
|
---@field pkg? LazyPkg
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue