Sort & optimize package list on 'doom purge'

This commit is contained in:
Henrik Lissner 2019-08-18 11:24:44 -04:00
parent 58fb9faf3a
commit b854a089eb
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -446,12 +446,14 @@ Unless AUTO-ACCEPT-P is non-nil, this function will prompt for confirmation with
a list of packages that will be removed."
(print! (start "Searching for orphaned packages to purge (for the emperor)..."))
(cl-destructuring-bind (&optional builds-to-purge repos-to-purge repos-to-regraft)
(list (cl-remove-if (doom-rpartial #'gethash straight--profile-cache)
(straight--directory-files (straight--build-dir)))
(cl-remove-if (doom-rpartial #'straight--checkhash straight--repo-cache)
(straight--directory-files (straight--repos-dir)))
(cl-remove-if-not (doom-rpartial #'straight--checkhash straight--repo-cache)
(straight--directory-files (straight--repos-dir))))
(let ((rdirs (straight--directory-files (straight--repos-dir) nil nil 'sort))
(bdirs (straight--directory-files (straight--build-dir) nil nil 'sort)))
(list (cl-delete-if (doom-rpartial #'gethash straight--profile-cache)
bdirs)
(cl-delete-if (doom-rpartial #'straight--checkhash straight--repo-cache)
rdirs)
(cl-delete-if-not (doom-rpartial #'straight--checkhash straight--repo-cache)
rdirs)))
(let (success)
(print-group!
(if (not builds-p)