aboutsummaryrefslogtreecommitdiff
path: root/chime.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-04-04 13:06:14 -0500
committerCraig Jennings <c@cjennings.net>2026-04-04 13:06:14 -0500
commit3c95c690d18ced45b919283114077a4f6ecd0fe9 (patch)
treed4ee4a6e0412ad1f3922739dd2d3996c1b12261a /chime.el
parent6f32d5c8a32f78786a612d0105a32d6856fd87ea (diff)
downloadchime-3c95c690d18ced45b919283114077a4f6ecd0fe9.tar.gz
chime-3c95c690d18ced45b919283114077a4f6ecd0fe9.zip
Extract display logic from chime-validate-configuration
Move interactive display (message/display-warning calls) into chime--display-validation-results. The validation function stays focused on collecting issues; display is a separate concern.
Diffstat (limited to 'chime.el')
-rw-r--r--chime.el28
1 files changed, 14 insertions, 14 deletions
diff --git a/chime.el b/chime.el
index a629939..582d61a 100644
--- a/chime.el
+++ b/chime.el
@@ -1621,6 +1621,18 @@ especially when buffer names contain angle brackets)."
;;;; Configuration Validation
+(defun chime--display-validation-results (issues)
+ "Display validation ISSUES via message/warning system.
+ISSUES is a list of (SEVERITY MESSAGE) pairs."
+ (if (null issues)
+ (message "Chime: ✓ All validation checks passed!")
+ (let ((errors (cl-remove-if-not (lambda (i) (eq (car i) :error)) issues))
+ (warnings (cl-remove-if-not (lambda (i) (eq (car i) :warning)) issues)))
+ (dolist (err errors)
+ (display-warning 'chime (cadr err) :error))
+ (dolist (warn warnings)
+ (display-warning 'chime (cadr warn) :warning)))))
+
;;;###autoload
(defun chime-validate-configuration ()
"Validate chime's runtime environment and configuration.
@@ -1672,21 +1684,9 @@ When called programmatically, returns structured validation results."
(push '(:warning "global-mode-string not available.\nModeline display may not work in this Emacs version.")
issues))
- ;; Display results if interactive
(when (called-interactively-p 'any)
- (if (null issues)
- (message "Chime: ✓ All validation checks passed!")
- ;; Show errors and warnings
- (let ((errors (cl-remove-if-not (lambda (i) (eq (car i) :error)) issues))
- (warnings (cl-remove-if-not (lambda (i) (eq (car i) :warning)) issues)))
- (when errors
- (dolist (err errors)
- (display-warning 'chime (cadr err) :error)))
- (when warnings
- (dolist (warn warnings)
- (display-warning 'chime (cadr warn) :warning))))))
-
- ;; Return issues for programmatic use
+ (chime--display-validation-results issues))
+
issues))
;;;; Core Lifecycle