anchor.diff:  
   (define-mode os-package-manager-mode ()
     "Mode for package management."
  -  ())
  -
  -;; TODO: Add command to interrupt operation?
  -;; (uiop:terminate-process  process-info)
  +  ((current-process-info nil
  +
  +                         :type (or null uiop/launch-program::process-info))))
  +
  +(define-command cancel-package-operation ()
  +  (let ((process-info (current-process-info
  +                       (find-submode (current-buffer) 'os-package-manager-mode))))
  +    (uiop:terminate-process process-info)
  +    (ffi-buffer-evaluate-javascript-async
  +     (current-buffer)
  +     (ps:ps (ps:chain document
  +                      (write (ps:lisp (markup:markup (:p "Operation cancelled.")))))))))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   (in-package :nyxt)
  
positive.code:                                       (ps:lisp content)))))
      (ffi-buffer-evaluate-javascript-async buffer insert-content)
      (chanl:pexec ()
        (let ((process-info (funcall command packages profile)))
          (format-command-stream process-info
                                 (lambda (s)
                                   (ffi-buffer-evaluate-javascript-async
  
negative.code:                                                    ;; e.g. progress bars.
                                                     (write (ps:lisp (markup:markup
                                                                      (:code (str:replace-all " " " " s))
                                                                      (:br)))))))))
          (ffi-buffer-evaluate-javascript-async
           buffer
           (ps:ps (ps:chain document
                            (write (ps:lisp (markup:markup (:p "Done.")))))))))
      (set-current-buffer buffer)
      buffer))
  
  