                              `(lambda (result) (boop--handle-result (quote ,id) (string-to-number result)))))))
           boop-config-alist)))
 
-;; Interactive Functions
-
 (defun boop (id status)
   "Manually boop something and set ID to have a status of STATUS."
   (if (assoc id boop-result-alist)

      (funcall (if (symbolp action)
                   (symbol-function action)
                 action)))))

(defun boop-update-info ()
  "Execute all of the plugins and return a list of the results."
  (let* ((plugins (boop--get-plugin-alist)))
    (boop--sync-result-and-config)
    (-map (lambda (config)
            (let* ((id (car config))
                   (script (cdr (assoc (cadr config) plugins)))

Setting this value to `all` will run all the plugins in
`boop-plugins-dir` with no arguments.")

(defvar boop-update-hook nil
  "A list of hooks to run when `boop-update-info` runs.

This allows you to programmatically create/update boops on an
interval.  If you have anything you want to monitor using an
elisp function, add that function to this list.")

(defvar boop-plugins-dir (expand-file-name (concat (getenv "HOME") "/.boopelplugins"))
  "The default directory to read plugins from.")

