emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/dape 19d4408ca9 2/2: Add debounce to memory viewer


From: ELPA Syncer
Subject: [elpa] externals/dape 19d4408ca9 2/2: Add debounce to memory viewer
Date: Wed, 1 May 2024 09:57:43 -0400 (EDT)

branch: externals/dape
commit 19d4408ca9aa2145fa109ef0899402fb85dc3d23
Author: Daniel Pettersson <daniel@dpettersson.net>
Commit: Daniel Pettersson <daniel@dpettersson.net>

    Add debounce to memory viewer
---
 dape.el | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/dape.el b/dape.el
index 968bdfdddc..1e090554b5 100644
--- a/dape.el
+++ b/dape.el
@@ -628,14 +628,18 @@ The hook is run with one argument, the compilation 
buffer."
   "Show hints in mini buffer."
   :type 'boolean)
 
-(defcustom dape-debug nil
-  "Print debug info in *dape-repl* *dape-connection events* buffers."
-  :type 'boolean)
+(defcustom dape-ui-debounce-time 0.1
+  "Number of seconds to debounce `revert-buffer' for UI buffers."
+  :type 'float)
 
 (defcustom dape-request-timeout jsonrpc-default-request-timeout
   "Number of seconds until a request is deemed to be timed out."
   :type 'natnum)
 
+(defcustom dape-debug nil
+  "Print debug info in *dape-repl* *dape-connection events* buffers."
+  :type 'boolean)
+
 
 ;;; Face
 (defface dape-breakpoint-face
@@ -2528,13 +2532,15 @@ Using BUFFER and STR."
 (defvar-local dape--memory-address nil
   "Buffer local var to keep track of current address.")
 
+(defvar dape--memory-debounce-timer (timer-create)
+  "Debounce context for `dape-memory-revert'.")
+
 (defun dape--memory-address-number ()
   "Return `dape--memory-address' as an number."
   (thread-first dape--memory-address (substring 2) (string-to-number 16)))
 
 (defun dape--memory-revert (&optional _ignore-auto _noconfirm _preserve-modes)
   "Revert buffer function for `dape-memory-mode'."
-  ;; TODO Add `dape--with-debounce'
   (let* ((conn (dape--live-connection 'last))
          (write-capable-p (dape--capable-p conn :supportsWriteMemoryRequest)))
     (unless (dape--capable-p conn :supportsReadMemoryRequest)
@@ -2644,10 +2650,11 @@ When BACKWARD is non nil move backward instead."
 
 (defun dape-memory-revert ()
   "Revert all `dape-memory-mode' buffers."
-  (cl-loop for buffer in (buffer-list)
-           when (eq (with-current-buffer buffer major-mode)
-                    'dape-memory-mode)
-           do (with-current-buffer buffer (revert-buffer))))
+  (dape--with-debounce dape--memory-debounce-timer dape-ui-debounce-time
+    (cl-loop for buffer in (buffer-list)
+             when (eq (with-current-buffer buffer major-mode)
+                      'dape-memory-mode)
+             do (with-current-buffer buffer (revert-buffer)))))
 
 (defun dape-read-memory (address)
   "Read `dape-memory-page-size' bytes of memory at ADDRESS."
@@ -3188,10 +3195,6 @@ REVERSED selects previous."
   (when (derived-mode-p 'dape-info-parent-mode)
     (ignore-errors (revert-buffer))))
 
-;; TODO Should maybe be a custom
-(defvar dape--info-debounce-time 0.1
-  "Number of seconds to debounce `revert-buffer' of info buffers.")
-
 (defvar-local dape--info-debounce-timer nil
   "Debounce context for `dape-info-parent-mode' buffers.")
 
@@ -3199,7 +3202,7 @@ REVERSED selects previous."
   "Wrap `dape--info-revert' methods within an debounce context.
 Each buffers store its own debounce context."
   (let ((buffer (current-buffer)))
-    (dape--with-debounce dape--info-debounce-timer dape--info-debounce-time
+    (dape--with-debounce dape--info-debounce-timer dape-ui-debounce-time
       (when (buffer-live-p buffer)
         (with-current-buffer buffer
           (cl-call-next-method))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]