diff --git a/modules/tools/debugger/README.org b/modules/tools/debugger/README.org index 1301c8cfd..36286dfcf 100644 --- a/modules/tools/debugger/README.org +++ b/modules/tools/debugger/README.org @@ -12,16 +12,10 @@ debuggers. /This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]] ** Module flags -- +lsp :: - *(This flag is deprecated)* Installs [[doom-package:dap-mode]] and - [[doom-package:dap-ui]]. Requires [[doom-module::tools lsp]] (not compatible with - Eglot). +/This module has no flags./ ** Packages - [[doom-package:dape]] -- if [[doom-module:+lsp]] - - [[doom-package:dap-mode]] - - [[doom-package:posframe]] ** Hacks /No hacks documented for this module./ diff --git a/modules/tools/debugger/autoload/debugger.el b/modules/tools/debugger/autoload/debugger.el index 05a38279a..9971cc2d5 100644 --- a/modules/tools/debugger/autoload/debugger.el +++ b/modules/tools/debugger/autoload/debugger.el @@ -1,25 +1,13 @@ ;;; tools/debugger/autoload/debugger.el -*- lexical-binding: t; -*- ;;;###autoload -(defun +debugger/start () - "Start a debugger in the current project and buffer." - (interactive) - (call-interactively - (if (and (modulep! +lsp) - (bound-and-true-p lsp-mode) - (require 'dap-mode nil t)) - #'dap-debug - #'dape))) +(defalias '+debugger/start #'dape) ;;;###autoload (defun +debugger/quit () "Quit the active debugger session." (interactive) - (if-let* ((conn (and (modulep! +lsp) - (require 'dap-mode nil t) - (dap--cur-session)))) - (dap-disconnect conn) - (if-let* ((conn (and (featurep 'dape) - (dape--live-connection 'parent t)))) - (dape-quit conn) - (user-error "No debugger session to quit")))) + (if-let* ((conn (and (featurep 'dape) + (dape--live-connection 'parent t)))) + (dape-quit conn) + (user-error "No debugger session to quit"))) diff --git a/modules/tools/debugger/config.el b/modules/tools/debugger/config.el index 8dc04c49a..6360a2aa6 100644 --- a/modules/tools/debugger/config.el +++ b/modules/tools/debugger/config.el @@ -1,21 +1,5 @@ ;;; tools/debugger/config.el -*- lexical-binding: t; -*- -(defvar +debugger--dap-alist - `(((:lang cc +lsp) :after ccls :require (dap-lldb dap-gdb-lldb)) - ((:lang elixir +lsp) :after elixir-mode :require dap-elixir) - ((:lang go +lsp) :after go-mode :require dap-dlv-go) - ((:lang gdscript +lsp) :after gdscript-mode :require dap-gdscript) - ((:lang java +lsp) :after java-mode :require lsp-java) - ((:lang php +lsp) :after php-mode :require dap-php) - ((:lang python +lsp) :after python :require dap-python) - ((:lang ruby +lsp) :after ruby-mode :require dap-ruby) - ((:lang rust +lsp) :after rustic :require (dap-lldb dap-cpptools)) - ((:lang javascript +lsp) - :after (js2-mode typescript-mode) - :require (dap-node dap-chrome dap-firefox ,@(if (featurep :system 'windows) '(dap-edge))))) - "An alist mapping Doom modules to major mode and DAP packages.") - - ;; ;;; Packages @@ -47,59 +31,3 @@ (defadvice! +debugger--make-directory-a (&optional file) :before #'dape-breakpoint-save (make-directory (file-name-directory (or file dape-default-breakpoints-file)) t))) - - -;; DEPRECATED -(use-package! dap-mode - :when (modulep! +lsp) - :when (modulep! :tools lsp -eglot) - :hook (dap-mode . dap-tooltip-mode) - :init - (setq dap-breakpoints-file (concat doom-data-dir "dap-breakpoints") - dap-utils-extension-path (concat doom-data-dir "dap-extension/")) - (after! lsp-mode (require 'dap-mode)) - :config - (pcase-dolist (`((,category . ,modules) :after ,after :require ,libs) - +debugger--dap-alist) - (when (doom-module-active-p category (car modules) (cadr modules)) - (dolist (lib (ensure-list after)) - (with-eval-after-load lib - (mapc #'require (ensure-list libs)))))) - - (dap-mode 1) - - (define-minor-mode +dap-running-session-mode - "A mode for adding keybindings to running sessions" - :init-value nil - :keymap (make-sparse-keymap) - (when (bound-and-true-p evil-mode) - (evil-normalize-keymaps)) ; if you use evil, this is necessary to update the keymaps - ;; The following code adds to the dap-terminated-hook so that this minor - ;; mode will be deactivated when the debugger finishes - (when +dap-running-session-mode - (let ((session-at-creation (dap--cur-active-session-or-die))) - (add-hook 'dap-terminated-hook - (lambda (session) - (when (eq session session-at-creation) - (+dap-running-session-mode -1))))))) - - ;; Activate this minor mode when dap is initialized - (add-hook 'dap-session-created-hook #'+dap-running-session-mode) - ;; Activate this minor mode when hitting a breakpoint in another file - (add-hook 'dap-stopped-hook #'+dap-running-session-mode) - ;; Activate this minor mode when stepping into code in another file - (add-hook 'dap-stack-frame-changed-hook (lambda (session) - (when (dap--session-running session) - (+dap-running-session-mode 1)))) - - (map! :localleader - :map +dap-running-session-mode-map - "d" #'dap-hydra)) - - -;; DEPRECATED -(use-package! dap-ui - :when (modulep! +lsp) - :when (modulep! :tools lsp -eglot) - :hook (dap-mode . dap-ui-mode) - :hook (dap-ui-mode . dap-ui-controls-mode))