anchor.diff:               (ps:lisp
                 (suggestion-and-mark-count
                  prompt-buffer suggestions marks
  +               :pad-p t
                  :multi-selection-p (some #'prompter:multi-selection-p
                                           (prompter:sources prompt-buffer)))))
          (when (ps:lisp vi-class)
  
positive.code:      (hide-suggestion-count-p nil
                                :documentation "Whether to show the number of
  chosen suggestions inside brackets.")
       ;; TODO: Need max-lines?
       ;; (max-lines 10
       ;;               :documentation "Max number of suggestion lines to show.
  
negative.code:   (prompter:destroy prompt-buffer))
  
  (defun suggestion-and-mark-count (prompt-buffer suggestions marks
                                    &key multi-selection-p pad-p)
    (alex:maxf (max-suggestions prompt-buffer)
               (length suggestions))
    (flet ((decimals (n)
             (cond
               ((< n 0)
                (decimals (- n)))
               ((< n 10)
                1)
               (t (1+ (decimals (truncate n 10)))))))
      (cond
        ((not suggestions)
         "")
        ((hide-suggestion-count-p prompt-buffer)
         "")
        (t
         (let ((padding (if pad-p
                            (prin1-to-string (decimals (max-suggestions prompt-buffer)))
                            "0")))
           (format nil (str:concat "[~a~" padding ",,,' @a]")
                   (cond
                     ((or marks multi-selection-p)
                      (format nil
                              (str:concat "~" padding ",,,' @a/")
                              (length marks)))
                     (t ""))
                   (length suggestions)))))))
  
  (defun prompt-render-prompt (prompt-buffer)
    (let* ((suggestions (prompter:all-suggestions prompt-buffer))
  