From 3c95c690d18ced45b919283114077a4f6ecd0fe9 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sat, 4 Apr 2026 13:06:14 -0500 Subject: 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. --- chime.el | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'chime.el') 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 -- cgit v1.2.3