From ca6fbddf3fa1c1e39db1f7a902b8514690d56b63 Mon Sep 17 00:00:00 2001 From: Daniel Pettersson Date: Wed, 22 Oct 2025 22:45:57 +0200 Subject: Change split breakpoint mode into globalized and local As suggested in #264 --- dape.el | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/dape.el b/dape.el index 271531b..227fe78 100644 --- a/dape.el +++ b/dape.el @@ -3166,7 +3166,7 @@ Source is either a buffer or file name." "Add hits breakpoint at current line." dape-breakpoint-hits) -(defvar dape-breakpoint-global-mode-map +(defvar dape-breakpoint-mode-map (let ((map (make-sparse-keymap))) (define-key map [left-fringe mouse-1] #'dape-mouse-breakpoint-toggle) (define-key map [left-margin mouse-1] #'dape-mouse-breakpoint-toggle) @@ -3177,14 +3177,18 @@ Source is either a buffer or file name." (define-key map [left-fringe mouse-3] #'dape-mouse-breakpoint-log) (define-key map [left-margin mouse-3] #'dape-mouse-breakpoint-log) map) - "Keymap for `dape-breakpoint-global-mode'.") + "Keymap for `dape-breakpoint-mode'.") -;;;###autoload -(define-minor-mode dape-breakpoint-global-mode +(define-minor-mode dape-breakpoint-mode "Toggle clickable breakpoint controls in fringe or margins." - :global t :lighter nil) +;;;###autoload +(define-globalized-minor-mode dape-breakpoint-global-mode dape-breakpoint-mode + (lambda () + (when (derived-mode-p 'prog-mode) + (dape-breakpoint-mode 1)))) + (defun dape--breakpoint-maybe-remove-ff-hook () "Remove the `find-file-hook' if all breakpoints have buffers." (cl-loop for breakpoint in dape--breakpoints @@ -3257,9 +3261,6 @@ TYPE is expected to be nil, `log', `expression', `hits', or `until'. If TYPE is `log', `expression', or `hits', VALUE should be a string. Unless SKIP-NOTIFY is non-nil, notify all connections. Note: removes existing breakpoints at the line before placing." - (unless (derived-mode-p 'prog-mode) - (user-error - "Should probably not set breakpoint in non `prog-mode' buffer")) (dape-breakpoint-remove-at-point 'skip-notify) (let ((breakpoint (dape--breakpoint-make :type type :value value))) (dape--breakpoint-make-overlay breakpoint) -- cgit v1.0