anchor.diff:              #'string-lessp))))
     (:accessor-name-transformer (class*:make-name-transformer name)))
   
  -(define-command show-annotation ()
  +(define-internal-page-command show-annotation ()
  +    (buffer "*Annotations*" 'base-mode)
     "Show an annotation(s)."
     (let ((selected-annotations
             (prompt
  
positive.code:                                    :actions nil))))
      (render-annotations :annotations selected-annotations)))
  
  (define-command show-annotations ()
    "Show all annotations"
    (with-data-access (annotations (annotations-path (current-buffer)))
      (render-annotations :annotations annotations)))
  
negative.code:                                       :tags tags)))
        (annotation-add annotation))))
  
  (defun render-annotations (&key annotations)
    "Show the ANNOTATIONS in a new buffer"
    (spinneret:with-html-string
      (loop for annotation in annotations
            collect (:div (:raw (render annotation))
                          (:hr)))))
  
  (define-internal-page-command show-annotations-for-current-url
      (&key (source-buffer-id (id (current-buffer))))
      (buffer "*Annotations*" 'base-mode)
    "Create a new buffer with the annotations of the current URL of BUFFER."
    (with-data-access (annotations (annotations-path buffer))
      (let ((filtered-annotations (remove-if-not (lambda (i)
                                                   (url-equal (quri:uri (url i)) (url (buffers-get source-buffer-id))))
                                                 annotations)))
        (render-annotations :annotations filtered-annotations))))
  
  (define-class annotation-source (prompter:source)
  