mirror of
				https://github.com/folke/lazy.nvim.git
				synced 2025-10-30 22:11:09 +00:00 
			
		
		
		
	feat(ui): show new version that is available instead of general message
This commit is contained in:
		
					parent
					
						
							
								a9de5910f2
							
						
					
				
			
			
				commit
				
					
						34e2c78e06
					
				
			
		
					 6 changed files with 20 additions and 11 deletions
				
			
		|  | @ -19,11 +19,11 @@ function M.fast_check(opts) | |||
|   opts = opts or {} | ||||
|   for _, plugin in pairs(Config.plugins) do | ||||
|     if not plugin.pin and plugin._.installed then | ||||
|       plugin._.has_updates = nil | ||||
|       plugin._.updates = nil | ||||
|       local info = Git.info(plugin.dir) | ||||
|       local ok, target = pcall(Git.get_target, plugin) | ||||
|       if ok and info and target and info.commit ~= target.commit then | ||||
|         plugin._.has_updates = true | ||||
|         plugin._.updates = { from = info, to = target } | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|  | @ -45,7 +45,7 @@ function M.report(notify) | |||
|   local lines = {} | ||||
|   M.updated = {} | ||||
|   for _, plugin in pairs(Config.plugins) do | ||||
|     if plugin._.has_updates then | ||||
|     if plugin._.updates then | ||||
|       table.insert(M.updated, plugin.name) | ||||
|       if not vim.tbl_contains(M.reported, plugin.name) then | ||||
|         table.insert(lines, "- **" .. plugin.name .. "**") | ||||
|  |  | |||
|  | @ -183,7 +183,7 @@ end | |||
| ---@param plugins? LazyPlugin[] | ||||
| function M.clear(plugins) | ||||
|   for _, plugin in pairs(plugins or Config.plugins) do | ||||
|     plugin._.has_updates = nil | ||||
|     plugin._.updates = nil | ||||
|     plugin._.updated = nil | ||||
|     plugin._.cloned = nil | ||||
|     plugin._.dirty = nil | ||||
|  |  | |||
|  | @ -35,7 +35,9 @@ M.log = { | |||
|       local info = assert(Git.info(self.plugin.dir)) | ||||
|       local target = assert(Git.get_target(self.plugin)) | ||||
|       assert(target.commit, self.plugin.name .. " " .. target.branch) | ||||
|       self.plugin._.has_updates = target.commit ~= info.commit | ||||
|       if target.commit ~= info.commit then | ||||
|         self.plugin._.updates = { from = info, to = target } | ||||
|       end | ||||
|       table.insert(args, info.commit .. ".." .. target.commit) | ||||
|     else | ||||
|       vim.list_extend(args, opts.args or Config.options.git.log) | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| ---@field dirty? boolean | ||||
| ---@field updated? {from:string, to:string} | ||||
| ---@field is_local boolean | ||||
| ---@field has_updates? boolean | ||||
| ---@field updates? {from:GitInfo, to:GitInfo} | ||||
| ---@field cloned? boolean | ||||
| ---@field kind? LazyPluginKind | ||||
| ---@field dep? boolean True if this plugin is only in the spec as a dependency | ||||
|  |  | |||
|  | @ -345,10 +345,17 @@ function M:diagnostics(plugin) | |||
|         message = "updated from " .. plugin._.updated.from:sub(1, 7) .. " to " .. plugin._.updated.to:sub(1, 7), | ||||
|       }) | ||||
|     end | ||||
|   elseif plugin._.has_updates then | ||||
|     self:diagnostic({ | ||||
|       message = "updates available", | ||||
|     }) | ||||
|   elseif plugin._.updates then | ||||
|     local version = plugin._.updates.to.version | ||||
|     if version then | ||||
|       self:diagnostic({ | ||||
|         message = "version " .. tostring(version) .. " is available", | ||||
|       }) | ||||
|     else | ||||
|       self:diagnostic({ | ||||
|         message = "updates available", | ||||
|       }) | ||||
|     end | ||||
|   end | ||||
|   for _, task in ipairs(plugin._.tasks or {}) do | ||||
|     if task:is_running() then | ||||
|  |  | |||
|  | @ -63,7 +63,7 @@ return { | |||
|   { | ||||
|     ---@param plugin LazyPlugin | ||||
|     filter = function(plugin) | ||||
|       return plugin._.has_updates | ||||
|       return plugin._.updates | ||||
|     end, | ||||
|     title = "Updates", | ||||
|   }, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue