anchor.diff:  (defun matches-from-json (matches-json &optional (buffer (current-buffer)) (padding 1))
     (loop for element in (cl-json:decode-json-from-string matches-json)
           collect (make-instance 'match
  -                               :identifier (format nil "~d:~d" padding (cdr (assoc :identifier element)))
  +                               :identifier (if padding
  +                                               (format nil "~d:~d" padding (cdr (assoc :identifier element)))
  +                                               (cdr (assoc :identifier element)))
                                  :body (cdr (assoc :body element))
                                  :buffer buffer)))
   
  
positive.code:               (focus-match :match (nth (completion-cursor minibuffer)
                                         (completions minibuffer))))))
        (with-result (input (read-from-minibuffer minibuffer))
          (focus-match :match input)))))
  
  (define-command remove-search-hints ()
    "Remove all search hints."
  
negative.code:   ;; TODO: scroll doesn't work properly because it seems it tries to scroll
    ;; before switching buffer in cases where the buffer should be switched
    ;; so have to find a way to sync that up
    (let* ((rel-identifier
             (ps:lisp
              (let ((id (identifier match)))
                (if (stringp id)
                    (cadr (str:split ":" id))
                    id))))
           (element (ps:chain document (get-element-by-id rel-identifier))))
      (ps:chain element (scroll-into-view t))))
  
  