autoload/packages: refactor + improve output consistency

This commit is contained in:
Henrik Lissner 2017-04-18 05:45:24 -04:00
parent 4159da2f37
commit 49b4b39dfe
2 changed files with 19 additions and 22 deletions

View file

@ -154,7 +154,7 @@ example; the package name can be omitted)."
(doom-refresh-packages) (doom-refresh-packages)
(doom-initialize-packages) (doom-initialize-packages)
(when (package-installed-p name) (when (package-installed-p name)
(error "%s is already installed, skipping" name)) (user-error "%s is already installed, skipping" name))
(let ((inhibit-message (not doom-debug-mode)) (let ((inhibit-message (not doom-debug-mode))
(recipe (plist-get plist :recipe))) (recipe (plist-get plist :recipe)))
(cond (recipe (quelpa recipe)) (cond (recipe (quelpa recipe))
@ -167,7 +167,7 @@ example; the package name can be omitted)."
appropriate." appropriate."
(doom-initialize) (doom-initialize)
(unless (package-installed-p name) (unless (package-installed-p name)
(error "%s isn't installed" name)) (user-error "%s isn't installed" name))
(when (doom-package-outdated-p name) (when (doom-package-outdated-p name)
(let ((inhibit-message (not doom-debug-mode)) (let ((inhibit-message (not doom-debug-mode))
quelpa-modified-p) quelpa-modified-p)
@ -191,7 +191,7 @@ appropriate."
"Uninstalls package NAME if it exists, and clears it from `quelpa-cache'." "Uninstalls package NAME if it exists, and clears it from `quelpa-cache'."
(doom-initialize) (doom-initialize)
(unless (package-installed-p name) (unless (package-installed-p name)
(error "%s isn't installed" name)) (user-error "%s isn't installed" name))
(let ((desc (cadr (assq name package-alist))) (let ((desc (cadr (assq name package-alist)))
(inhibit-message t)) (inhibit-message t))
(package-delete desc force-p)) (package-delete desc force-p))
@ -240,8 +240,8 @@ appropriate."
(pcase (doom-package-backend (car pkg)) (pcase (doom-package-backend (car pkg))
('quelpa "QUELPA") ('quelpa "QUELPA")
('elpa "ELPA"))) ('elpa "ELPA")))
('error ('user-error
(message! (red "Error installing %s: %s" (symbol-name (car pkg)) ex))))) (message! (bold (red "Error installing %s: %s" (car pkg) ex))))))
(message! (bold (green "Finished!"))) (message! (bold (green "Finished!")))
(doom/reload))))) (doom/reload)))))
@ -280,9 +280,9 @@ appropriate."
(color (if result 'green 'red) (color (if result 'green 'red)
"%s %s" "%s %s"
(if result "Updated" "Failed to update") (if result "Updated" "Failed to update")
(symbol-name (car pkg))))) (car pkg))))
('error ('user-error
(message! (bold (red "Error updating %s: %s" (symbol-name (car pkg)) ex)))))) (message! (bold (red "Error updating %s: %s" (car pkg) ex))))))
(message! (bold (green "Finished!"))) (message! (bold (green "Finished!")))
(doom/reload))))) (doom/reload)))))
@ -299,7 +299,7 @@ appropriate."
(y-or-n-p (y-or-n-p
(format "%s packages will be deleted:\n\n%s\n\nProceed?" (format "%s packages will be deleted:\n\n%s\n\nProceed?"
(length packages) (length packages)
(mapconcat (lambda (sym) (format "+ %s" (symbol-name sym))) (mapconcat (lambda (sym) (format "+ %s" sym))
(sort (cl-copy-list packages) #'string-lessp) (sort (cl-copy-list packages) #'string-lessp)
"\n"))))) "\n")))))
(message! (yellow "Aborted!"))) (message! (yellow "Aborted!")))
@ -312,10 +312,9 @@ appropriate."
(color (if result 'green 'red) (color (if result 'green 'red)
"%s %s" "%s %s"
(if result "Deleted" "Failed to delete") (if result "Deleted" "Failed to delete")
(symbol-name pkg)))) pkg)))
('error ('user-error
(message! (red "Error deleting %s: %s" (symbol-name pkg) ex)))) (message! (bold (red "Error deleting %s: %s" pkg ex))))))
)
(message! (bold (green "Finished!"))) (message! (bold (green "Finished!")))
(doom/reload))))) (doom/reload)))))
@ -333,9 +332,7 @@ Use this interactively. Use `doom-delete-package' for direct calls."
(doom-initialize) (doom-initialize)
(list (completing-read (list (completing-read
"Delete package: " "Delete package: "
(delq nil (cl-remove-if #'package-built-in-p package-alist :key #'car)
(mapcar (lambda (p) (unless (package-built-in-p p) p))
(mapcar #'car package-alist)))
nil t)))) nil t))))
(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))
@ -355,7 +352,8 @@ calls."
(let ((packages (doom-get-outdated-packages))) (let ((packages (doom-get-outdated-packages)))
(list (list
(if packages (if packages
(completing-read "Update package: " (mapcar #'symbol-name (mapcar #'car packages))) (completing-read "Update package: "
(mapcar #'symbol-name (mapcar #'car packages)))
(user-error "All packages are up-to-date"))))) (user-error "All packages are up-to-date")))))
(if-let (desc (doom-package-outdated-p (intern package))) (if-let (desc (doom-package-outdated-p (intern package)))
(if (y-or-n-p (format "%s will be updated from %s to %s. Update?" (if (y-or-n-p (format "%s will be updated from %s to %s. Update?"
@ -363,9 +361,7 @@ calls."
(package-version-join (cadr desc)) (package-version-join (cadr desc))
(package-version-join (cl-caddr desc)))) (package-version-join (cl-caddr desc))))
(message "%s %s" (message "%s %s"
(if (doom-update-package package) (if (doom-update-package package) "Updated" "Failed to update")
"Updated"
"Failed to update")
pkg) pkg)
(message "Aborted")) (message "Aborted"))
(message "%s is up-to-date" package))) (message "%s is up-to-date" package)))

View file

@ -360,7 +360,8 @@ them."
(plist-put plist :pin nil))) (plist-put plist :pin nil)))
`(progn `(progn
(when ,(and pkg-pin t) (when ,(and pkg-pin t)
(cl-pushnew (cons ',name ,pkg-pin) package-pinned-packages :test 'eq :key 'car)) (cl-pushnew (cons ',name ,pkg-pin) package-pinned-packages
:test #'eq :key #'car))
(when ,(and old-plist t) (when ,(and old-plist t)
(assq-delete-all ',name doom-packages)) (assq-delete-all ',name doom-packages))
(push ',(cons name plist) doom-packages)))) (push ',(cons name plist) doom-packages))))
@ -394,7 +395,7 @@ server, if necessary) by `doom/packages-install', `doom/packages-update' and
(doom-initialize t) (doom-initialize t)
(doom/recompile) (doom/recompile)
(message "Reloaded %d packages" (length doom--package-load-path)) (message "Reloaded %d packages" (length doom--package-load-path))
(run-with-timer 1 nil 'redraw-frame)))) (run-with-timer 1 nil #'redraw-frame))))
(defun doom/reload-autoloads () (defun doom/reload-autoloads ()
"Refreshes the autoloads.el file, which tells Emacs where to find all the "Refreshes the autoloads.el file, which tells Emacs where to find all the