[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] scratch/add-vdiff 309e912 108/258: Refresh automatically on idle
From: |
Justin Burkett |
Subject: |
[elpa] scratch/add-vdiff 309e912 108/258: Refresh automatically on idle after change |
Date: |
Wed, 17 May 2017 08:13:33 -0400 (EDT) |
branch: scratch/add-vdiff
commit 309e9121d86fd32f9268d435416df77c87d51266
Author: justbur <address@hidden>
Commit: justbur <address@hidden>
Refresh automatically on idle after change
---
vdiff.el | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/vdiff.el b/vdiff.el
index ff1b5b3..32c5131 100644
--- a/vdiff.el
+++ b/vdiff.el
@@ -179,6 +179,8 @@ because those are handled differently.")
(defvar vdiff--folds nil)
(defvar vdiff--all-folds-open nil)
(defvar vdiff--setting-vscroll nil)
+(defvar vdiff--diff-stale nil)
+(defvar vdiff--after-change-timer nil)
;; * Utilities
@@ -338,7 +340,8 @@ parsing the diff output and triggering the overlay updates."
(setq vdiff--diff-data nil)
(vdiff--refresh-overlays)
(vdiff--refresh-line-maps)
- (message "vdiff process error: %s" event))))
+ (message "vdiff process error: %s" event)))
+ (setq vdiff--diff-stale nil))
(defun vdiff--remove-all-overlays ()
"Remove all vdiff overlays in both vdiff buffers."
@@ -1028,6 +1031,11 @@ buffer)."
(when (and (sit-for 0.05)
(eq vdiff-subtraction-style 'full))
(vdiff--scroll-function)))))
+(defun vdiff--after-change-function (beg _end _len)
+ (unless vdiff--diff-stale
+ (setq vdiff--diff-stale t)
+ (setq vdiff--after-change-timer
+ (run-with-idle-timer 2 nil (lambda () (vdiff-refresh))))))
(defvar vdiff--bottom-left-angle-bits
(let ((vec (make-vector 13 (+ (expt 2 7) (expt 2 6)))))
@@ -1287,6 +1295,8 @@ commands like `vdiff-files' or `vdiff-buffers'."
(add-hook 'after-save-hook #'vdiff-refresh nil t)
(add-hook 'window-size-change-functions
'vdiff--remove-fold-overlays)
+ (add-hook 'after-change-functions
+ 'vdiff--after-change-function nil t)
(when vdiff-lock-scrolling
(vdiff-scroll-lock-mode 1)))
(t
@@ -1295,6 +1305,8 @@ commands like `vdiff-files' or `vdiff-buffers'."
(remove-hook 'after-save-hook #'vdiff-refresh t)
(remove-hook 'window-size-change-functions
'vdiff--remove-fold-overlays)
+ (remove-hook 'after-change-functions
+ 'vdiff--after-change-function t)
(when vdiff-scroll-lock-mode
(vdiff-scroll-lock-mode -1))
(setq vdiff--diff-data nil)
- [elpa] scratch/add-vdiff 8a3dff3 254/258: vdiff-magit: Add vdiff-magit-stage-is-2way, (continued)
- [elpa] scratch/add-vdiff 8a3dff3 254/258: vdiff-magit: Add vdiff-magit-stage-is-2way, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 3a32c4e 255/258: README: Update, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff d4883de 256/258: vdiff-magit: Remove use of camel case names for consistency, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 819ea4b 258/258: Add 'packages/vdiff/' from commit 'f11c7c2eeef33a0b75fe4e025818e7e672c57397', Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 14abb75 078/258: Allow jumping to subtraction overlays, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff a15b0e5 084/258: Move point before closing fold, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 425d50b 085/258: Add vdiff-close-other-folds, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 6516112 075/258: Minor formatting, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 968047f 093/258: Change wording in a docstring, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff ad0e8c3 091/258: Make mirrored-commands private and rename, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 309e912 108/258: Refresh automatically on idle after change,
Justin Burkett <=
- [elpa] scratch/add-vdiff 5b1b342 119/258: Remove duplicated code in vdiff-files, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 750a1bc 124/258: Fix bug in remove-refinements, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff c8cba47 125/258: Fix package, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 83f0788 118/258: Don't make temp files global, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 72fe0fa 130/258: Don't update diff info while sending changes, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff c6e30a2 136/258: Merge pull request #9 from gvol/master, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 53c2a6b 153/258: Fix receiving changes, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 5dcdc97 158/258: Remove other-window, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 7029054 159/258: Comment out vdiff-buffers3, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 97d7098 174/258: Add screenshot of three way diff, Justin Burkett, 2017/05/17