anchor.diff:        (ps:chain node (replace-with (aref *nodes* (ps:@ node id))))))
     (remove-search-nodes))
   
  -(define-command search-buffer ()
  +(define-command search-buffer (&key case-insensitive-p)
     "Start a search on the current buffer."
  -  (search-over-buffers (list (current-buffer))))
  -
  -(define-command search-buffers ()
  +  (search-over-buffers (list (current-buffer)) :case-insensitive-p case-insensitive-p))
  +
  +(define-command search-buffers (&key case-insensitive-p)
     "Show a prompt in the minibuffer that allows to choose
   one or more buffers, and then start a search prompt that
   searches over the selected buffer(s)."
  
positive.code:              (query-buffer
                :query input
                :buffer buffer
                :callback (lambda (result)
                            (let* ((matches (matches-from-json
                                             result buffer multi-buffer)))
  
negative.code:                                :body (cdr (assoc :body element))
                                 :buffer buffer)))
  
  (defun match-completion-function (input &optional (buffers (list (current-buffer))) (case-insensitive-p nil))
    "Update the completions asynchronously via query-buffer. TODO:
  capture the current-buffer and current-minibuffer in a closure."
    (when (> (length input) 2)
  