 (defvar boop-plugins-dir (expand-file-name (concat (getenv "HOME") "/.boopelplugins"))
   "The default directory to read plugins from.")
 
-(defvar boop-configs nil "A list of config boop groups")
+(defvar boop-configs nil "A list of config boop groups.")
 (defvar boop-config-alist nil
   "The main alist of scripts and the arguments to run them with.
 

  :type '(radio
          (const :tag "Display symbol         e.g.  ●" boop--format-result)
          (const :tag "Display shortened id   e.g.  [name]" boop--format-result-as-id)))
(defcustom boop-format-results-func 'boop--format-results-sorted
  "The function to use to format `boop-result-alist`.  This
function should take a function as an argument which can format a
single result."
  :group 'boop
  :type '(radio

;;;;;; multiple results

(defun boop--format-results-sorted (f)
  "Format `boop-result-alist` into a propertized display string using F."
  (let ((sorted-result-alist
         (if boop-sort-func (--sort (funcall boop-sort-func (plist-get (cdr it) :result) (cdr other)) boop-result-alist)
           boop-result-alist)))
    (mapconcat f sorted-result-alist "")))

(defun boop--format-results-grouped-by-result (f)
  "Format `boop-result-alist` into a propertized display string using F."
  (let ((results (--group-by (plist-get (cdr it) :result) boop-result-alist)))
    (mapconcat (lambda (it) (format "[ %s]" (mapconcat f (cdr it) ""))) results " ")))

(defun boop--format-results-grouped-by-group (f)
  "Format `boop-result-alist` into a propertized display string using F."
  (let ((results (--group-by (plist-get (cdr it) :group) boop-result-alist)))
    (mapconcat (lambda (it) (format "[ %s]" (mapconcat f (cdr it) ""))) results " ")))

;;;;;; individual results

(defun boop--format-result-as-id (result-alist)
  "Format an individual RESULT-ALIST using its ID."
  (let* ((result-id (car result-alist))
         (result    (plist-get (cdr result-alist) :result))
         (group     (plist-get (cdr result-alist) :group))
