diff --git a/docs/modules.org b/docs/modules.org index 276f7ebb4..4a8dc11d4 100644 --- a/docs/modules.org +++ b/docs/modules.org @@ -156,7 +156,7 @@ Modules that offer terminal emulation. Small modules that give Emacs access to external tools & services. + ansible - TODO -+ debugger - A (nigh-)universal debugger in Emacs ++ debugger =+lsp= - A (nigh-)universal debugger in Emacs + [[file:../modules/tools/direnv/README.org][direnv]] - TODO + [[file:../modules/tools/docker/README.org][docker]] =+lsp= - TODO + [[file:../modules/tools/editorconfig/README.org][editorconfig]] - TODO diff --git a/modules/tools/debugger/config.el b/modules/tools/debugger/config.el index dbf79387f..f86585fdf 100644 --- a/modules/tools/debugger/config.el +++ b/modules/tools/debugger/config.el @@ -25,43 +25,6 @@ gdb-many-windows t) -(use-package! dap-mode - :when (featurep! :tools lsp) - :hook (dap-mode . dap-tooltip-mode) - :after lsp-mode - :demand t - :preface - (setq dap-breakpoints-file (concat doom-etc-dir "dap-breakpoints") - dap-utils-extension-path (concat doom-etc-dir "dap-extension/")) - :config - (dolist (module '(((:lang . cc) ccls dap-lldb dap-gdb-lldb) - ((:lang . elixir) elixir-mode dap-elixir) - ((:lang . go) go-mode dap-go) - ((:lang . java) lsp-java dap-java) - ((:lang . php) php-mode dap-php) - ((:lang . python) python dap-python) - ((:lang . ruby) ruby-mode dap-ruby) - ((:lang . rust) rust-mode dap-lldb))) - (when (doom-module-p (caar module) (cdar module) '+lsp) - (with-eval-after-load (nth 1 module) - (mapc #'require (cddr module))))) - - (when (featurep! :lang javascript +lsp) - (with-eval-after-load 'js2-mode - (require 'dap-node) - (require 'dap-chrome) - (require 'dap-firefox) - (when IS-WINDOWS - (require 'dap-edge)))) - - (dap-mode 1)) - - -(use-package! dap-ui-mode - :hook (dap-mode . dap-ui-mode) - :hook (dap-ui-mode . dap-ui-controls-mode)) - - (use-package! realgud :defer t :init @@ -123,3 +86,41 @@ (if cmd-buf (switch-to-buffer cmd-buf)) (message "Error running command: %s" (mapconcat #'identity cmd-args " ")))) cmd-buf))) + + +(use-package! dap-mode + :when (featurep! +lsp) + :hook (dap-mode . dap-tooltip-mode) + :after lsp-mode + :demand t + :preface + (setq dap-breakpoints-file (concat doom-etc-dir "dap-breakpoints") + dap-utils-extension-path (concat doom-etc-dir "dap-extension/")) + :config + (dolist (module '(((:lang . cc) ccls dap-lldb dap-gdb-lldb) + ((:lang . elixir) elixir-mode dap-elixir) + ((:lang . go) go-mode dap-go) + ((:lang . java) lsp-java dap-java) + ((:lang . php) php-mode dap-php) + ((:lang . python) python dap-python) + ((:lang . ruby) ruby-mode dap-ruby) + ((:lang . rust) rust-mode dap-lldb))) + (when (doom-module-p (caar module) (cdar module) '+lsp) + (with-eval-after-load (nth 1 module) + (mapc #'require (cddr module))))) + + (when (featurep! :lang javascript +lsp) + (with-eval-after-load 'js2-mode + (require 'dap-node) + (require 'dap-chrome) + (require 'dap-firefox) + (when IS-WINDOWS + (require 'dap-edge)))) + + (dap-mode 1)) + + +(use-package! dap-ui-mode + :when (featurep! +lsp) + :hook (dap-mode . dap-ui-mode) + :hook (dap-ui-mode . dap-ui-controls-mode)) diff --git a/modules/tools/debugger/packages.el b/modules/tools/debugger/packages.el index b24186232..9321e25fb 100644 --- a/modules/tools/debugger/packages.el +++ b/modules/tools/debugger/packages.el @@ -5,5 +5,6 @@ (when (featurep! :lang javascript) (package! realgud-trepan-ni :pin "6e9cac5e80"))) -(when (featurep! :tools lsp) - (package! dap-mode :pin "0b9c8f28ad")) +(when (featurep! +lsp) + (package! dap-mode :pin "0b9c8f28ad") + (package! posframe :pin "e62e584268"))