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

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

[elpa] master 17b44a8 05/17: Update a few commands to jump in one or mor


From: Oleh Krehel
Subject: [elpa] master 17b44a8 05/17: Update a few commands to jump in one or more windows
Date: Fri, 08 May 2015 13:43:40 +0000

branch: master
commit 17b44a8b850e6c06b2bbfbd668c10295bc96c4d8
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    Update a few commands to jump in one or more windows
    
    * avy-jump.el (avi--generic-jump): New defun.
    (avi-goto-char): Update.
    (avi-goto-char-2): Update.
    (avi-goto-word-0): Update.
    (avi-goto-subword-0): Update.
---
 avy-jump.el |   73 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 42 insertions(+), 31 deletions(-)

diff --git a/avy-jump.el b/avy-jump.el
index 3d45065..0711280 100644
--- a/avy-jump.el
+++ b/avy-jump.el
@@ -172,30 +172,39 @@ LEAF is ((BEG . END) . WND)."
        (cdr leaf)
      (selected-window))))
 
+(defun avi--generic-jump (regex flip)
+  "Jump to REGEX.
+When FLIP is non-nil, flip `avi-all-windows'."
+  (let ((avi-all-windows
+         (if flip
+             (not avi-all-windows)
+           avi-all-windows)))
+    (avi--goto
+     (avi--process
+      (avi--regex-candidates
+       regex)
+      #'avi--overlay-post))))
+
 ;;* Commands
 ;;;###autoload
-(defun avi-goto-char ()
-  "Read one char and jump to it in current window."
-  (interactive)
-  (avi--goto
-   (avi--process
-    (avi--regex-candidates
-     (string (read-char "char: "))
-     (selected-window))
-    #'avi--overlay-post)))
+(defun avi-goto-char (&optional arg)
+  "Read one char and jump to it.
+The window scope is determined by `avi-all-windows'.
+When ARG is non-nil, flip the window scope."
+  (interactive "P")
+  (avi--generic-jump
+   (string (read-char "char: ")) arg))
 
 ;;;###autoload
-(defun avi-goto-char-2 ()
-  "Read two chars and jump to them in current window."
-  (interactive)
-  (avi--goto
-   (avi--process
-    (avi--regex-candidates
-     (string
-      (read-char "char 1: ")
-      (read-char "char 2: "))
-     (selected-window))
-    #'avi--overlay-post)))
+(defun avi-goto-char-2 (&optional arg)
+  "Read two chars and jump to them in current window.
+When ARG is non-nil, flip the window scope."
+  (interactive "P")
+  (avi--generic-jump
+   (string
+    (read-char "char 1: ")
+    (read-char "char 2: "))
+   arg))
 
 ;;;###autoload
 (defun avi-isearch ()
@@ -210,19 +219,21 @@ LEAF is ((BEG . END) . WND)."
     (avi--goto candidate)))
 
 ;;;###autoload
-(defun avi-goto-word-0 ()
-  "Jump to a word start in current window."
-  (interactive)
-  (let* ((avi-keys (number-sequence ?a ?z))
-         (candidates (avi--regex-candidates "\\b\\sw")))
-    (avi--goto
-     (avi--process candidates #'avi--overlay-pre))))
+(defun avi-goto-word-0 (arg)
+  "Jump to a word start."
+  (interactive "P")
+  (let ((avi-keys (number-sequence ?a ?z)))
+    (avi--generic-jump "\\b\\sw" arg)))
 
 ;;;###autoload
-(defun avi-goto-subword-0 ()
-  "Jump to a word or subword start in current window."
-  (interactive)
-  (let* ((avi-keys (number-sequence ?a ?z))
+(defun avi-goto-subword-0 (&optional arg)
+  "Jump to a word or subword start."
+  (interactive "P")
+  (let* ((avi-all-windows
+          (if arg
+              (not avi-all-windows)
+            avi-all-windows))
+         (avi-keys (number-sequence ?a ?z))
          (candidates (avi--regex-candidates
                       "\\(\\b\\sw\\)\\|\\(?:[^A-Z]\\([A-Z]\\)\\)")))
     (dolist (x candidates)



reply via email to

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