Function: dape--display-buffer

dape--display-buffer is a natively compiled function defined in dape.el.

Signature

(dape--display-buffer BUFFER)

Documentation

Display BUFFER according to dape-buffer-window-arrangement.

Source Code

;; Defined in /nix/store/1fiaif8pifqj2jh65rbg3fkhg3i56q42-emacs-packages-deps/share/emacs/site-lisp/elpa/dape-0.27.1/dape.el
(defun dape--display-buffer (buffer)
  "Display BUFFER according to `dape-buffer-window-arrangement'."
  (pcase-let*
      ((mode (buffer-local-value 'major-mode buffer))
       (group (cl-position (with-current-buffer buffer
                             (dape--info-window-group))
                           dape-info-buffer-window-groups))
       (`(,fns . ,alist)
        (pcase dape-buffer-window-arrangement
          ((or 'left 'right)
           (pcase mode
             ('dape-repl-mode
              `((display-buffer-in-side-window)
                (side . bottom) (slot . -1)))
             ('dape-shell-mode
              `((display-buffer-in-side-window)
                (side . bottom) (slot . 0)))
             ((guard group)
              `((display-buffer-in-side-window)
                (side . ,dape-buffer-window-arrangement)
                (slot . ,(1- group))))))
          ('gud
           (pcase mode
             ('dape-repl-mode
              '((display-buffer-in-side-window) (side . top) (slot . -1)))
             ('dape-shell-mode
              '((display-buffer-pop-up-window)
                (direction . right) (dedicated . t)))
             ((guard group)
              `((display-buffer-in-side-window)
                ,@(nth group '(((side . top) (slot . 1))
                               ((side . bottom) (slot . -1))
                               ((side . bottom) (slot . 0))
                               ((side . top) (slot . 0))
                               ((side . bottom) (slot . 1))))))))
          (_ nil)))
       (category
        (when group (intern (format "dape-info-%s" group)))))
    (display-buffer buffer
                    `((display-buffer-reuse-window . ,fns)
                      (category . ,category)
                      (dedicated . 'weakly)
                      ,@alist))))