mirror of https://github.com/folke/lazy.nvim.git
feat: added "Lazy check" to check for updates without updating
This commit is contained in:
parent
d486bc586b
commit
63cf2a52bd
|
@ -12,8 +12,8 @@
|
|||
- [x] Config in multiple files
|
||||
- [x] Patterns for local packages
|
||||
- [x] Profiling
|
||||
- [ ] lockfile
|
||||
- [ ] check for updates
|
||||
- [x] lockfile
|
||||
- [x] check for updates
|
||||
- [ ] package.lua
|
||||
- [ ] package-lock.lua
|
||||
- [x] tag/version support `git tag --sort version:refname`
|
||||
|
|
|
@ -83,6 +83,20 @@ function M.update(opts)
|
|||
end)
|
||||
end
|
||||
|
||||
function M.check(opts)
|
||||
opts = opts or {}
|
||||
M.run({
|
||||
pipeline = {
|
||||
"git.fetch",
|
||||
"wait",
|
||||
{ "git.log", check = true },
|
||||
},
|
||||
plugins = function(plugin)
|
||||
return plugin.uri and plugin._.installed
|
||||
end,
|
||||
}, opts)
|
||||
end
|
||||
|
||||
---@param opts? ManagerOpts
|
||||
function M.log(opts)
|
||||
M.run({
|
||||
|
|
|
@ -6,14 +6,14 @@ local Lock = require("lazy.manage.lock")
|
|||
local M = {}
|
||||
|
||||
M.log = {
|
||||
---@param opts {since?: string, updated?:boolean}
|
||||
---@param opts {since?: string, updated?:boolean, check?: boolean}
|
||||
skip = function(plugin, opts)
|
||||
if opts.updated and not (plugin._.updated and plugin._.updated.from ~= plugin._.updated.to) then
|
||||
return true
|
||||
end
|
||||
return not Util.file_exists(plugin.dir .. "/.git")
|
||||
end,
|
||||
---@param opts {since?: string, updated?:boolean}
|
||||
---@param opts {since?: string, updated?:boolean, check?:boolean}
|
||||
run = function(self, opts)
|
||||
local args = {
|
||||
"log",
|
||||
|
@ -26,6 +26,10 @@ M.log = {
|
|||
|
||||
if opts.updated then
|
||||
table.insert(args, self.plugin._.updated.from .. ".." .. (self.plugin._.updated.to or "HEAD"))
|
||||
elseif opts.check then
|
||||
local info = assert(Git.info(self.plugin.dir))
|
||||
local target = assert(Git.get_target(self.plugin))
|
||||
table.insert(args, info.commit .. ".." .. target.commit)
|
||||
else
|
||||
table.insert(args, "--since=" .. (opts.since or "7 days ago"))
|
||||
end
|
||||
|
|
|
@ -40,6 +40,9 @@ M.commands = {
|
|||
update = function()
|
||||
Manage.update({ clear = true, interactive = true })
|
||||
end,
|
||||
check = function()
|
||||
Manage.check({ clear = true, interactive = true })
|
||||
end,
|
||||
restore = function()
|
||||
Manage.update({ clear = true, interactive = true, lockfile = true })
|
||||
end,
|
||||
|
|
Loading…
Reference in New Issue