Function: dape--info-set-related-buffers

dape--info-set-related-buffers is a natively compiled function defined in dape.el.

Signature

(dape--info-set-related-buffers)

Documentation

Set related buffers and header-line-format.

Source Code

;; Defined in /nix/store/1fiaif8pifqj2jh65rbg3fkhg3i56q42-emacs-packages-deps/share/emacs/site-lisp/elpa/dape-0.27.1/dape.el
(defun dape--info-set-related-buffers ()
  "Set related buffers and `header-line-format'."
  (let* ((conn (dape--live-connection 'stopped t))
         (scopes (plist-get (dape--current-stack-frame conn) :scopes)))
    (when (or (not dape--info-buffer-related) scopes)
      (setq
       ;; Set related buffers
       dape--info-buffer-related
       (cl-loop
        for spec in (dape--info-window-group)
        for (mode index) = (ensure-list spec)
        append
        (cond
         ((and (eq 'dape-info-scope-mode mode) (not index))
          (cl-loop for scope in scopes for index upfrom 0 collect
                   `(dape-info-scope-mode ,index ,(plist-get scope :name))))
         ((and (eq 'dape-info-scope-mode mode) index)
          (when-let* ((scope (nth index scopes)))
            `((dape-info-scope-mode ,index ,(plist-get scope :name)))))
         (`((,mode nil ,(alist-get mode dape--info-buffer-name-alist))))))
       ;; Show buffer tabs in header-line
       header-line-format
       (cl-loop for (mode index name) in dape--info-buffer-related
                append
                `(,(if (dape--info-buffer-p mode index)
                       (dape--info-header name mode index nil nil 'dape-header-line-active-face)
                     (dape--info-header name mode index "mouse-1: select"
                                        'dape-header-line-hover-face
                                        'dape-header-line-inactive-face))
                  " "))))))