branch: externals/dape
commit ca6fbddf3fa1c1e39db1f7a902b8514690d56b63
Author: Daniel Pettersson <[email protected]>
Commit: Daniel Pettersson <[email protected]>

    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 271531b2d3..227fe780b6 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)

Reply via email to