anchor.diff:                            :height "100%"
                             :color theme:text
                             :background-color theme:background)
  -            ("#input" :display "grid"
  -                      :grid-template-columns "auto 1fr"
  -                      :width "100%"
  -                      :padding 0
  -                      :margin 0
  -                      :background-color theme:tertiary)
  -            ("#input-buffer" :width "100%"
  -                             :border "none"
  -                             :outline "none"
  -                             :padding "3px"
  -                             :background-color theme:quaternary
  -                             :autofocus "true")
  -            ("#evaluation-history"
  +            (.input :display "grid"
  +                    :grid-template-columns "auto 1fr"
  +                    :width "100%"
  +                    :padding 0
  +                    :margin 0
  +                    :background-color theme:tertiary)
  +            (.input-buffer :width "100%"
  +                           :border "none"
  +                           :outline "none"
  +                           :padding "3px"
  +                           :background-color theme:quaternary
  +                           :autofocus "true")
  +            ("#evaluations"
                :font-size "12px"
                :flex-grow "1"
                :overflow-y "auto"
                :overflow-x "auto")
  -            ("#prompt" :padding-right "4px"
  -                       :padding-left "4px"
  -                       :line-height "30px"
  -                       :color theme:background)
  -            (ul :list-style "none"
  -                :padding "0"
  -                :margin "0")
  -            (li :padding "2px"))
  +            (.prompt :padding-right "4px"
  +                     :padding-left "4px"
  +                     :line-height "30px"
  +                     :color theme:background))
             :documentation "The CSS applied to a REPL when it is set-up.")
  -   (evaluation-history (list)
  -                       :documentation "A list of pairs of (PACKAGE INPUT RESULTS).
  -INPUT is a string and RESULTS is a list of Lisp values.")
  -   (current-evaluation-history-element
  -    nil
  -    :type (or null integer)
  -    :documentation "Current element of history being edited in the REPL prompt.
  -
  -Scroll history with `evaluation-history-previous' and `evaluation-history-next'."))
  +   (evaluations
  +    (list)
  +    :documentation "A list of `evaluation's representing the current state of the REPL."))
     (:toggler-command-p nil))
   
   (defun package-short-name (package)
  
positive.code:                                      completion (subseq input cursor))
              (cursor repl) (+ cursor (- (length completion) (- cursor previous-delimiter)))))))
  
  (define-command evaluation-history-previous (&optional (repl (find-submode 'repl-mode)))
    "Fill REPL input with the value of the previous REPL history element."
    (let* ((current (1+ (or (current-evaluation-history-element repl) -1)))
           (elt (when (> (length (evaluation-history repl)) current)
                  (elt (evaluation-history repl) current))))
      (if elt
          (setf (input repl) (second elt)
                (current-evaluation-history-element repl) current)
          (echo-warning "No more elements in evaluation history"))))
  
  (define-command evaluation-history-next (&optional (repl (find-submode 'repl-mode)))
    "Fill REPL input with the value of the next REPL history element."
    (if (and (current-evaluation-history-element repl)
             (not (zerop (current-evaluation-history-element repl))))
        (setf (input repl) (elt (evaluation-history repl) (decf (current-evaluation-history-element repl))))
        (echo-warning "No more elements in evaluation history")))
  
  (define-internal-page-command-global lisp-repl ()
      (repl-buffer "*Lisp REPL*" 'repl-mode)
    "Show Lisp REPL."
  
negative.code:       (setf (cursor repl) cursor))))
  
  (define-command tab-complete-symbol (&optional (repl (find-submode 'repl-mode)))
    "Complete the current symbol and insert the completion into the current input area."
    (let* ((input (input repl))
           (cursor (cursor repl))
           (previous-delimiter (unless (= cursor 0)
  