anchor.diff:                                         :test #'string-equal)))
                         #'string-lessp
                         :key #'tag-name)))
  -      (when with-empty-tag
  -        (push "" tags))
  -      tags
  -      ;; (lambda (minibuffer)
  -      ;;   (fuzzy-match (text-buffer::word-at-cursor (input-cursor minibuffer)) tags))
  -      )))
  +      tags)))
  +
  +(defun last-word (s)
  +  (if (uiop:emptyp s)
  +      ""
  +      (alex:last-elt (sera:words s))))
   
   (define-class tag-source (prompter:source)
     ((prompter:name "Tags")
      (extra-tags '())
  +   (prompter:filter-preprocessor (lambda (initial-suggestions-copy source input)
  +                                   (prompter:delete-inexact-matches
  +                                    initial-suggestions-copy
  +                                    source
  +                                    (last-word input))))
  +   (prompter:filter (lambda (input suggestion)
  +                      (prompter:fuzzy-match (last-word input) suggestion)))
      (prompter:multi-selection-p t)
      (prompter:constructor (lambda (source)
                              (tag-suggestions :extra-tags (extra-tags source)))))
  
positive.code:                                                  (when (equal-url (url b) url)
                                                     (setf entry b)))
                                                 bookmarks))
               (tags (if (stringp tags) (str:split " " tags :omit-nulls t) tags)))
          (unless entry
            (setf entry (make-instance 'bookmark-entry
                                       :url url)))
          (unless (str:emptyp title)
            (setf (title entry) title))
          (setf tags (delete-duplicates tags :test #'string=))
          (setf (tags entry) (sort tags #'string<))
          (when date
  
negative.code:    (prompter:constructor (get-data (bookmarks-path (current-buffer))))
     (prompter:active-properties '(:url :title :tags))))
  
  (defun tag-suggestions ()
    (with-data-unsafe (bookmarks (bookmarks-path (current-buffer)))
      (let ((tags (sort (append extra-tags
                                (mapcar (lambda (name) (make-tag :name name))
  