ansi-{format,message}! => {format,message}! (to be generalized)
This commit is contained in:
parent
a71ca4d340
commit
e48c6c5381
4 changed files with 33 additions and 33 deletions
|
@ -36,7 +36,7 @@
|
||||||
"List of styles.")
|
"List of styles.")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defmacro ansi-format! (message &rest args)
|
(defmacro format! (message &rest args)
|
||||||
"An alternative to `format' that strips out ANSI codes if used in an
|
"An alternative to `format' that strips out ANSI codes if used in an
|
||||||
interactive session."
|
interactive session."
|
||||||
`(cl-flet*
|
`(cl-flet*
|
||||||
|
@ -50,10 +50,10 @@ interactive session."
|
||||||
(format ,message ,@args)))
|
(format ,message ,@args)))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defmacro ansi-message! (message &rest args)
|
(defmacro message! (message &rest args)
|
||||||
"An alternative to `message' that strips out ANSI codes if used in an
|
"An alternative to `message' that strips out ANSI codes if used in an
|
||||||
interactive session."
|
interactive session."
|
||||||
`(message (ansi-format! ,message ,@args)))
|
`(message (format! ,message ,@args)))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun doom-ansi-apply (code format &rest args)
|
(defun doom-ansi-apply (code format &rest args)
|
||||||
|
|
|
@ -207,7 +207,7 @@ appropriate."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((packages (doom-get-missing-packages)))
|
(let ((packages (doom-get-missing-packages)))
|
||||||
(cond ((not packages)
|
(cond ((not packages)
|
||||||
(ansi-message! (green "No packages to install!")))
|
(message! (green "No packages to install!")))
|
||||||
|
|
||||||
((not (or (getenv "YES")
|
((not (or (getenv "YES")
|
||||||
(y-or-n-p
|
(y-or-n-p
|
||||||
|
@ -221,12 +221,12 @@ appropriate."
|
||||||
"ELPA")))
|
"ELPA")))
|
||||||
(sort (cl-copy-list packages) 'doom--sort-alpha)
|
(sort (cl-copy-list packages) 'doom--sort-alpha)
|
||||||
"\n")))))
|
"\n")))))
|
||||||
(ansi-message! (yellow "Aborted!")))
|
(message! (yellow "Aborted!")))
|
||||||
|
|
||||||
(t
|
(t
|
||||||
(dolist (pkg packages)
|
(dolist (pkg packages)
|
||||||
(condition-case ex
|
(condition-case ex
|
||||||
(ansi-message!
|
(message!
|
||||||
(cond ((package-installed-p (car pkg))
|
(cond ((package-installed-p (car pkg))
|
||||||
(dark (white "Skipped %%%%s (already installed)")))
|
(dark (white "Skipped %%%%s (already installed)")))
|
||||||
((doom-install-package (car pkg) (cdr pkg))
|
((doom-install-package (car pkg) (cdr pkg))
|
||||||
|
@ -240,9 +240,9 @@ appropriate."
|
||||||
('quelpa "QUELPA")
|
('quelpa "QUELPA")
|
||||||
('elpa "ELPA")))
|
('elpa "ELPA")))
|
||||||
('error
|
('error
|
||||||
(ansi-message! (red "Error (%s): %s" (car pkg) ex)))))
|
(message! (red "Error (%s): %s" (car pkg) ex)))))
|
||||||
|
|
||||||
(ansi-message! (bold (green "\n---\nFinished!")))
|
(message! (bold (green "\n---\nFinished!")))
|
||||||
(doom/reload)))))
|
(doom/reload)))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
@ -251,7 +251,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)
|
||||||
(ansi-message! (green "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
|
||||||
|
@ -269,21 +269,21 @@ appropriate."
|
||||||
(package-version-join (cl-caddr pkg))))
|
(package-version-join (cl-caddr pkg))))
|
||||||
packages
|
packages
|
||||||
"\n"))))))
|
"\n"))))))
|
||||||
(ansi-message! (yellow "Aborted!")))
|
(message! (yellow "Aborted!")))
|
||||||
|
|
||||||
(t
|
(t
|
||||||
(dolist (pkg packages)
|
(dolist (pkg packages)
|
||||||
(condition-case ex
|
(condition-case ex
|
||||||
(ansi-message!
|
(message!
|
||||||
(let ((result (doom-update-package (car pkg))))
|
(let ((result (doom-update-package (car pkg))))
|
||||||
(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")
|
||||||
(car pkg))))
|
(car pkg))))
|
||||||
('error
|
('error
|
||||||
(ansi-message! (bold (red "Error installing %s: %s" (car pkg) ex))))))
|
(message! (bold (red "Error installing %s: %s" (car pkg) ex))))))
|
||||||
|
|
||||||
(ansi-message! (bold (green "\n---\nFinished!")))
|
(message! (bold (green "\n---\nFinished!")))
|
||||||
(doom/reload)))))
|
(doom/reload)))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
@ -292,7 +292,7 @@ appropriate."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((packages (doom-get-orphaned-packages)))
|
(let ((packages (doom-get-orphaned-packages)))
|
||||||
(cond ((not packages)
|
(cond ((not packages)
|
||||||
(ansi-message! (green "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
|
||||||
|
@ -301,7 +301,7 @@ 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")))))
|
||||||
(ansi-message! (yellow "Aborted!")))
|
(message! (yellow "Aborted!")))
|
||||||
|
|
||||||
(t
|
(t
|
||||||
(dolist (pkg packages)
|
(dolist (pkg packages)
|
||||||
|
@ -312,9 +312,9 @@ appropriate."
|
||||||
"Failed to delete")
|
"Failed to delete")
|
||||||
pkg)
|
pkg)
|
||||||
('error
|
('error
|
||||||
(ansi-message! (red "Error deleting %s: %s" pkg ex)))))
|
(message! (red "Error deleting %s: %s" pkg ex)))))
|
||||||
|
|
||||||
(ansi-message! (bold (green "\n---\nFinished!")))
|
(message! (bold (green "\n---\nFinished!")))
|
||||||
(doom/reload)))))
|
(doom/reload)))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
|
@ -477,13 +477,13 @@ If ONLY-RECOMPILE-P is non-nil, only recompile out-of-date files."
|
||||||
(short-name (file-relative-name file doom-emacs-dir)))
|
(short-name (file-relative-name file doom-emacs-dir)))
|
||||||
(cl-incf
|
(cl-incf
|
||||||
(cond ((eq result 'no-byte-compile)
|
(cond ((eq result 'no-byte-compile)
|
||||||
(ansi-message! (dark (white "Ignored %s" short-name)))
|
(message! (dark (white "Ignored %s" short-name)))
|
||||||
total-nocomp)
|
total-nocomp)
|
||||||
((null result)
|
((null result)
|
||||||
(ansi-message! (red "Failed to compile %s" short-name))
|
(message! (red "Failed to compile %s" short-name))
|
||||||
total-fail)
|
total-fail)
|
||||||
(t
|
(t
|
||||||
(ansi-message! (green "Compiled %s" short-name))
|
(message! (green "Compiled %s" short-name))
|
||||||
total-success))))))
|
total-success))))))
|
||||||
(dolist (path targets (reverse el-files))
|
(dolist (path targets (reverse el-files))
|
||||||
(let ((path (expand-file-name path doom-emacs-dir)))
|
(let ((path (expand-file-name path doom-emacs-dir)))
|
||||||
|
@ -493,7 +493,7 @@ If ONLY-RECOMPILE-P is non-nil, only recompile out-of-date files."
|
||||||
(push path el-files))
|
(push path el-files))
|
||||||
(t
|
(t
|
||||||
(error "Invalid path: %s" path))))))
|
(error "Invalid path: %s" path))))))
|
||||||
(ansi-message!
|
(message!
|
||||||
(bold
|
(bold
|
||||||
(color (if (zerop total-fail) 'green 'red)
|
(color (if (zerop total-fail) 'green 'red)
|
||||||
"\n---\n%s %s file(s) %s"
|
"\n---\n%s %s file(s) %s"
|
||||||
|
|
|
@ -3,39 +3,39 @@
|
||||||
(def-test-group! core/autoload/message
|
(def-test-group! core/autoload/message
|
||||||
(ert-deftest ansi-format ()
|
(ert-deftest ansi-format ()
|
||||||
(let ((noninteractive t))
|
(let ((noninteractive t))
|
||||||
(should (equal (ansi-format! "Hello %s" "World")
|
(should (equal (format! "Hello %s" "World")
|
||||||
"Hello World"))
|
"Hello World"))
|
||||||
(should (equal (ansi-format! (red "Hello %s" "World"))
|
(should (equal (format! (red "Hello %s" "World"))
|
||||||
"[31mHello World[0m"))
|
"[31mHello World[0m"))
|
||||||
(should (equal (ansi-format! (green "Hello %s" "World"))
|
(should (equal (format! (green "Hello %s" "World"))
|
||||||
(format "\e[%dm%s\e[0m"
|
(format "\e[%dm%s\e[0m"
|
||||||
(cdr (assq 'green doom-ansi-fg))
|
(cdr (assq 'green doom-ansi-fg))
|
||||||
"Hello World")))
|
"Hello World")))
|
||||||
(should (equal (ansi-format! (on-red "Hello %s" "World"))
|
(should (equal (format! (on-red "Hello %s" "World"))
|
||||||
(format "\e[%dm%s\e[0m"
|
(format "\e[%dm%s\e[0m"
|
||||||
(cdr (assq 'on-red doom-ansi-bg))
|
(cdr (assq 'on-red doom-ansi-bg))
|
||||||
"Hello World")))
|
"Hello World")))
|
||||||
(should (equal (ansi-format! (bold "Hello %s" "World"))
|
(should (equal (format! (bold "Hello %s" "World"))
|
||||||
(format "\e[%dm%s\e[0m"
|
(format "\e[%dm%s\e[0m"
|
||||||
(cdr (assq 'bold doom-ansi-fx))
|
(cdr (assq 'bold doom-ansi-fx))
|
||||||
"Hello World")))))
|
"Hello World")))))
|
||||||
|
|
||||||
(ert-deftest ansi-format-nested ()
|
(ert-deftest ansi-format-nested ()
|
||||||
(let ((noninteractive t))
|
(let ((noninteractive t))
|
||||||
(should (equal (ansi-format! (bold (red "Hello %s" "World")))
|
(should (equal (format! (bold (red "Hello %s" "World")))
|
||||||
(format "\e[%dm%s\e[0m" 1
|
(format "\e[%dm%s\e[0m" 1
|
||||||
(format "\e[%dm%s\e[0m" 31 "Hello World"))))
|
(format "\e[%dm%s\e[0m" 31 "Hello World"))))
|
||||||
(should (equal (ansi-format! (on-red (bold "Hello %s" "World")))
|
(should (equal (format! (on-red (bold "Hello %s" "World")))
|
||||||
(format "\e[%dm%s\e[0m" 41
|
(format "\e[%dm%s\e[0m" 41
|
||||||
(format "\e[%dm%s\e[0m" 1 "Hello World"))))
|
(format "\e[%dm%s\e[0m" 1 "Hello World"))))
|
||||||
(should (equal (ansi-format! (dark (white "Hello %s" "World")))
|
(should (equal (format! (dark (white "Hello %s" "World")))
|
||||||
(format "\e[%dm%s\e[0m" 2
|
(format "\e[%dm%s\e[0m" 2
|
||||||
(format "\e[%dm%s\e[0m" 37 "Hello World"))))))
|
(format "\e[%dm%s\e[0m" 37 "Hello World"))))))
|
||||||
|
|
||||||
(ert-deftest ansi-format-apply ()
|
(ert-deftest ansi-format-apply ()
|
||||||
(let ((noninteractive t))
|
(let ((noninteractive t))
|
||||||
(should (equal (ansi-format! (color 'red "Hello %s" "World"))
|
(should (equal (format! (color 'red "Hello %s" "World"))
|
||||||
(ansi-format! (red "Hello %s" "World"))))
|
(format! (red "Hello %s" "World"))))
|
||||||
(should (equal (ansi-format! (color (if nil 'red 'blue) "Hello %s" "World"))
|
(should (equal (format! (color (if nil 'red 'blue) "Hello %s" "World"))
|
||||||
(ansi-format! (blue "Hello %s" "World")))))))
|
(format! (blue "Hello %s" "World")))))))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue