Skip to content

Commit a31f249

Browse files
feat: improve breakpoint refresh efficiency by targeting only buffers… (#754)
* feat: improve breakpoint refresh efficiency by targeting only buffers with at least one breakpoint * fix: use ht-keys instead of custom key extractor function (review !754) --------- Co-authored-by: Samuele Favazza <[email protected]>
1 parent 096070a commit a31f249

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

dap-mode.el

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -858,9 +858,14 @@ will be reversed."
858858
"Get all file backed buffers."
859859
(-filter 'buffer-file-name (buffer-list)))
860860

861+
(defun dap--buffers-w-breakpoints ()
862+
"Get only the buffers featuring at least one breakpoint"
863+
;; get the list from the keys of the breakpoint hash-table
864+
(ht-keys (dap--get-breakpoints)))
865+
861866
(defun dap--refresh-breakpoints ()
862867
"Refresh breakpoints for DEBUG-SESSION."
863-
(--each (dap--buffer-list)
868+
(--each (dap--buffers-w-breakpoints)
864869
(when (buffer-live-p it)
865870
(with-current-buffer it
866871
(dap--set-breakpoints-in-file
@@ -1567,10 +1572,10 @@ When ALL? is non-nil select from threads in all debug sessions."
15671572

15681573
(when new-session
15691574
(let ((breakpoints (dap--get-breakpoints)))
1570-
(--each (dap--buffer-list) (with-current-buffer it
1571-
(->> breakpoints
1572-
(gethash buffer-file-name)
1573-
(dap--set-breakpoints-in-file buffer-file-name))))))
1575+
(--each (dap--buffers-w-breakpoints) (with-current-buffer it
1576+
(->> breakpoints
1577+
(gethash buffer-file-name)
1578+
(dap--set-breakpoints-in-file buffer-file-name))))))
15741579

15751580
(run-hook-with-args 'dap-session-changed-hook lsp--cur-workspace)
15761581

0 commit comments

Comments
 (0)