From 5898a9938d4c483da347546e5b6a8be33c8b6bb7 Mon Sep 17 00:00:00 2001 From: Stefan Ellmauthaler Date: Fri, 24 Mar 2023 13:28:49 +0100 Subject: [PATCH] Fix dap-mode for emacs --- flake.nix | 1 + modules/emacs/default.el | 17 +++++++++++------ modules/emacs/default.nix | 5 +++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index 6df899a..40da74d 100644 --- a/flake.nix +++ b/flake.nix @@ -85,6 +85,7 @@ "steam-runtime" "skypeforlinux" "teams" + "vscode-extension-ms-vscode-cpptools" "zoom" ]; }; diff --git a/modules/emacs/default.el b/modules/emacs/default.el index b9d58f8..10727f5 100644 --- a/modules/emacs/default.el +++ b/modules/emacs/default.el @@ -456,14 +456,19 @@ ;; dap (use-package dap-mode :ensure - :after lsp-mode - :requires (dap-cpptools) - :config - (dap-ui-mode) - (dap-ui-controls-mode 1) + :after (lsp-mode dap-cpptools) :custom (dap-mode t) - (dap-ui-mode t)) + (dap-ui-mode t) + (dap-ui-controls-mode t) + (dap-tooltip-mode t)) +(use-package dap-cpptools + :preface + (require 'f) + :custom + (dap-cpptools-debug-path elss/paths/cpptools) + (dap-cpptools-debug-program elss/paths/cpptools-program)) + ;; flycheck (use-package flycheck diff --git a/modules/emacs/default.nix b/modules/emacs/default.nix index 453002b..8da4943 100644 --- a/modules/emacs/default.nix +++ b/modules/emacs/default.nix @@ -7,10 +7,15 @@ with lib; let defaultEl = ./default.el; environment.systemPackages = [pkgs.gdb]; # use gdb for dap-mode + localsettings = pkgs.writeText "local-settings.el" '' + (defconst elss/paths/cpptools "{$pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools") + (defconst elss/paths/cpptools-program "${pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/debugAdapters/bin/OpenDebugAD7") + ''; defaultConfig = pkgs.runCommand "default.el" {} '' mkdir -p $out/share/emacs/site-lisp cp ${defaultEl} $out/share/emacs/site-lisp/default.el + cp ${localsettings} $out/share/emacs/site-lisp/local-settings.el ''; emacsPackage = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages