anchor.diff:  ;;;; SPDX-License-Identifier: BSD-3-Clause
   
   (uiop:define-package :nyxt/os-package-manager-mode
  -  (:use :common-lisp :trivia :nyxt)
  +    (:use :common-lisp :trivia :nyxt)
     (:import-from #:keymap #:define-key #:define-scheme)
     (:documentation "Universal interface to various operating system package managers."))
   (in-package :nyxt/os-package-manager-mode)
  
positive.code:                                               `((:a :class "button"
                                                      :href ,(lisp-url '(echo "Computing path & size...")
                                                                       `(ospm:expand-outputs (first (ospm:find-os-packages
                                                                                                       ,(ospm:name package)
                                                                                                       :version ,(ospm:version package))))
                                                                       `(%describe-os-package
                                                                         (ospm:find-os-packages ,(ospm:name package)
                                                                                                  :version ,(ospm:version package))))
                                                      "Compute path & size")))
                                            ,(format-outputs (ospm:outputs package)))
                                       (:li "Supported systems: " ,(str:join " " (ospm:supported-systems package)))
  
negative.code:               " (current)"
                "")))
  
  (define-class os-package-source (prompter:source)
    ((prompter:name "Packages")
     (prompter:must-match-p t)
     (prompter:constructor (ospm:list-packages))))
  
  (define-class os-manifest-source (prompter:source)
    ((prompter:name "Manifests")
     (prompter:must-match-p t)
     (prompter:constructor (mapcar #'namestring (ospm:list-manifests)))))
  
  (define-class os-package-output-source (prompter:source)
    ((prompter:name "Package Outputs")
     (prompter:must-match-p t)
     (prompter:constructor (ospm:list-package-outputs))))
  
  (define-class os-installed-package-source (prompter:source)
    ((prompter:name "Installed Packages")
     (prompter:must-match-p t)
     (profile)
     (prompter:constructor
      (lambda (source)
        (ospm:list-packages (profile source)))))
    (:accessor-name-transformer (hu.dwim.defclass-star:make-name-transformer name)))
  
  (define-class os-profile-source (prompter:source)
    ((prompter:name "Profiles")
     (prompter:must-match-p t)
     (include-manager-p)
     (prompter:constructor
      (lambda (source) (ospm:list-profiles
                        :include-manager-p (include-manager-p source)))))
    (:accessor-name-transformer (hu.dwim.defclass-star:make-name-transformer name)))
  
  (define-class os-generation-source (prompter:source)
    ((prompter:name "Packages")
     (prompter:must-match-p t)
     (profile)
     (prompter:constructor
      (lambda (source) 
        (ospm:list-generations (profile source)))))
    (:accessor-name-transformer (hu.dwim.defclass-star:make-name-transformer name)))
  
  (defun %describe-os-package (packages)
    (let* ((buffer (or (find-buffer 'os-package-manager-mode)
  