Function: dape-select-session

dape-select-session is an interactive and natively compiled function defined in dape.el.

Signature

(dape-select-session CONN)

Documentation

Select CONN as the active debug session.

Key Bindings

ctl-x-map C-a T dape-global-map T global-map C-x C-a T help-quick-use-map C-x C-a T

Source Code

;; Defined in /nix/store/1fiaif8pifqj2jh65rbg3fkhg3i56q42-emacs-packages-deps/share/emacs/site-lisp/elpa/dape-0.27.1/dape.el
(defun dape-select-session (conn)
  "Select CONN as the active debug session."
  (interactive
   (let ((collection
          (cl-loop with root = (when dape--connection-selected
                                 (dape--root-of dape--connection-selected))
                   for c in (dape--live-connections-root)
                   unless (eq c root)
                   collect `(,(string-remove-prefix "dape-" (jsonrpc-name c))
                             ,c))))
     (unless collection
       (user-error "No other active debug sessions"))
     (cdr (assoc (completing-read "Select session: " collection nil t)
                 collection))))
  (setq dape--connection-selected
        ;; Limit lookup scope to *this* session
        (let ((dape--connections
               (cl-loop with root = (dape--root-of conn)
                        for conn in dape--connections
                        when (eq (dape--root-of conn) root)
                        collect conn)))
          (or (dape--live-connection 'last t) conn)))
  (when-let* ((buffer (dape--shell-buffer conn)))
    (dape--display-buffer buffer))
  (dape--update dape--connection-selected nil t)
  (dape--mode-line-format)
  (force-mode-line-update t))