anchor.diff:  ;;;; SPDX-License-Identifier: BSD-3-Clause
   
   (in-package :nyxt)
  -
  -;; TODO: Leverage `activate'.
   
   (defclass mode-class (user-class)
     ((toggler-command-p                   ; TODO: Rename to `togglable-p'?
  
positive.code:         (print-status))
      ;; TODO: Should we move mode to the front when it already exists?
      (push mode (modes (buffer mode))))
    (log:debug "~a enabled." mode))
  
  (export-always 'disable)
  
negative.code:                       &allow-other-keys)
                 (let ((existing-instance (find-submode name buffer)))
                   (unless explicit?
                     (setf activate (or (not existing-instance)
                                        (not (slot-value existing-instance 'enabled-p)))))
                   (if activate
                       ;; TODO: Shall we pass args to `make-instance' or `enable'?  Have 2 args parameters?
                       (enable (or existing-instance
                                   (apply #'make-instance name
                                          :buffer buffer
                                          args)))
                       (when existing-instance
                         (disable existing-instance))))))
          (delete-command name))))
  