               ;; Only boop the configs with scripts
               (when script
                 (async-start `(lambda () (shell-command-to-string (format "%s %s" ,script ,args)))
-                             `(lambda (result) (boop--handle-result (quote ,id) (s-trim result)))))))
+                             `(lambda (result) (boop--handle-result (quote ,id) (string-to-number result)))))))
           boop-config-alist)))
 
 ;; Interactive Functions


;; TODO: Add in validation that `boop-plugins-dir` exists
;; TODO: Make the strategy stuff work

;;;; Customs

(require 'async)
(require 'dash)
(require 's)

(defgroup boop nil
	"Manage how boop gets and displays monitoring results."

	:group 'tools
	:group 'convenience)

(defcustom boop-format-default '(:symbol ?● :color "#ffcb13" :status "Unknown")
  "The default config to propertize when a script echo result
  doesn't matcha value in the `boop-monitor-alist`.")

(defcustom boop-format-alist
  '((1 :symbol ?● :color "#63ca13" :status "Pass")
    (0 :symbol ?● :color "#c64512" :status "Fail")
    (3 :symbol ?● :color "#23a2fb" :status "Building"))
   "An alist of values of the form (RESULT CHARACTER COLOUR) used
   to map the echo results of the plugin scripts to characters
   and their colours.")
