Package management: color-coded feedback to stdout in terminal
This commit is contained in:
parent
a1625eaf73
commit
6e6f1a6698
1 changed files with 37 additions and 42 deletions
|
@ -221,30 +221,27 @@ appropriate."
|
||||||
"ELPA")))
|
"ELPA")))
|
||||||
(sort (cl-copy-list packages) 'doom--sort-alpha)
|
(sort (cl-copy-list packages) 'doom--sort-alpha)
|
||||||
"\n")))))
|
"\n")))))
|
||||||
(message "Aborted!"))
|
(message! (yellow "Aborted!")))
|
||||||
|
|
||||||
(t
|
(t
|
||||||
(message "Installing %s packages" (length packages))
|
|
||||||
|
|
||||||
(dolist (pkg packages)
|
(dolist (pkg packages)
|
||||||
(condition-case ex
|
(condition-case ex
|
||||||
(progn
|
(message! (cond ((package-installed-p (car pkg))
|
||||||
(message "%s %s (%s)"
|
(dark (white "[%%s] Skipped %%s (already installed)")))
|
||||||
(cond ((package-installed-p (car pkg))
|
((doom-install-package (car pkg) (cdr pkg))
|
||||||
"Skipped (already installed)")
|
(green "[%%s] Installed %%s"))
|
||||||
((doom-install-package (car pkg) (cdr pkg))
|
(t
|
||||||
"Installed")
|
(red "[%%s] Failed to install %%s")))
|
||||||
(t "Failed to install"))
|
(pcase (doom-package-backend (car pkg))
|
||||||
(concat (symbol-name (car pkg))
|
('quelpa "QUELPA")
|
||||||
(when (plist-member (cdr pkg) :pin)
|
('elpa "ELPA"))
|
||||||
(format " [pinned: %s]" (plist-get (cdr pkg) :pin))))
|
(concat (symbol-name (car pkg))
|
||||||
(pcase (doom-package-backend (car pkg))
|
(when (plist-member (cdr pkg) :pin)
|
||||||
('quelpa "QUELPA")
|
(format " [pinned: %s]" (plist-get (cdr pkg) :pin)))))
|
||||||
('elpa "ELPA"))))
|
('error
|
||||||
(error
|
(message! (red "Error (%s): %s" (car pkg) ex)))))
|
||||||
(message "Error (%s): %s" (car pkg) ex))))
|
|
||||||
|
|
||||||
(message "Finished!")
|
(message! (bold (green "\n---\nFinished!")))
|
||||||
(doom/reload)))))
|
(doom/reload)))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
@ -253,7 +250,7 @@ appropriate."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((packages (sort (doom-get-outdated-packages) 'doom--sort-alpha)))
|
(let ((packages (sort (doom-get-outdated-packages) 'doom--sort-alpha)))
|
||||||
(cond ((not packages)
|
(cond ((not packages)
|
||||||
(message "Everything is up-to-date"))
|
(message! (green "Everything is up-to-date")))
|
||||||
|
|
||||||
((not (or (getenv "YES")
|
((not (or (getenv "YES")
|
||||||
(y-or-n-p
|
(y-or-n-p
|
||||||
|
@ -271,21 +268,21 @@ appropriate."
|
||||||
(package-version-join (cl-caddr pkg))))
|
(package-version-join (cl-caddr pkg))))
|
||||||
packages
|
packages
|
||||||
"\n"))))))
|
"\n"))))))
|
||||||
(message "Aborted!"))
|
(message! (yellow "Aborted!")))
|
||||||
|
|
||||||
(t
|
(t
|
||||||
(dolist (pkg packages)
|
(dolist (pkg packages)
|
||||||
(condition-case ex
|
(condition-case ex
|
||||||
(progn
|
(message!
|
||||||
(message "%s %s"
|
(let ((result (doom-update-package (car pkg))))
|
||||||
(if (doom-update-package (car pkg))
|
(ansi-apply (if result 'green 'red)
|
||||||
"Updated"
|
"%s %s"
|
||||||
"Failed to update")
|
(if result "Updated" "Failed to update")
|
||||||
(car pkg)))
|
(car pkg))))
|
||||||
(error
|
('error
|
||||||
(message "Error installing %s: %s" (car pkg) ex))))
|
(message! (bold (red "Error installing %s: %s" (car pkg) ex))))))
|
||||||
|
|
||||||
(message "Finished!")
|
(message! (bold (green "\n---\nFinished!")))
|
||||||
(doom/reload)))))
|
(doom/reload)))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
@ -294,7 +291,7 @@ appropriate."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((packages (doom-get-orphaned-packages)))
|
(let ((packages (doom-get-orphaned-packages)))
|
||||||
(cond ((not packages)
|
(cond ((not packages)
|
||||||
(message "No unused packages to remove"))
|
(message! (green "No unused packages to remove")))
|
||||||
|
|
||||||
((not (or (getenv "YES")
|
((not (or (getenv "YES")
|
||||||
(y-or-n-p
|
(y-or-n-p
|
||||||
|
@ -303,20 +300,20 @@ appropriate."
|
||||||
(mapconcat (lambda (sym) (format "+ %s" (symbol-name sym)))
|
(mapconcat (lambda (sym) (format "+ %s" (symbol-name sym)))
|
||||||
(sort (cl-copy-list packages) 'string-lessp)
|
(sort (cl-copy-list packages) 'string-lessp)
|
||||||
"\n")))))
|
"\n")))))
|
||||||
(message "Aborted!"))
|
(message! (yellow "Aborted!")))
|
||||||
|
|
||||||
(t
|
(t
|
||||||
(dolist (pkg packages)
|
(dolist (pkg packages)
|
||||||
(condition-case ex
|
(condition-case ex
|
||||||
(message "%s %s"
|
(message "%s %s"
|
||||||
(if (doom-delete-package pkg t)
|
(if (doom-delete-package pkg t)
|
||||||
"Deleted"
|
"Deleted"
|
||||||
"Failed to delete")
|
"Failed to delete")
|
||||||
pkg)
|
pkg)
|
||||||
(error
|
('error
|
||||||
(message "Error deleting %s: %s" pkg ex))))
|
(message! (red "Error deleting %s: %s" pkg ex)))))
|
||||||
|
|
||||||
(message "Finished!")
|
(message! (bold (green "\n---\nFinished!")))
|
||||||
(doom/reload)))))
|
(doom/reload)))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
@ -338,9 +335,7 @@ Use this interactively. Use `doom-delete-package' for direct calls."
|
||||||
(if (package-installed-p package)
|
(if (package-installed-p package)
|
||||||
(if (y-or-n-p (format "%s will be deleted. Confirm?" package))
|
(if (y-or-n-p (format "%s will be deleted. Confirm?" package))
|
||||||
(message "%s %s"
|
(message "%s %s"
|
||||||
(if (doom-delete-package package)
|
(if (doom-delete-package package) "Deleted" "Failed to delete")
|
||||||
"Deleted"
|
|
||||||
"Failed to delete")
|
|
||||||
pkg)
|
pkg)
|
||||||
(message "Aborted"))
|
(message "Aborted"))
|
||||||
(message "%s isn't installed" package)))
|
(message "%s isn't installed" package)))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue