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

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

[elpa] master 02bf35b 13/24: Modify `at-full' and `de-bruijn' overlays t


From: Oleh Krehel
Subject: [elpa] master 02bf35b 13/24: Modify `at-full' and `de-bruijn' overlays to color depth
Date: Thu, 25 Jun 2015 10:17:51 +0000

branch: master
commit 02bf35b6a095100b7b88dc099765534e448823af
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    Modify `at-full' and `de-bruijn' overlays to color depth
    
    * avy.el (avy-lead-face-2): New face.
    (avy-lead-faces): New defconst. Each element will be used to color the
    corresponding depth.
    (avy--overlay-at-full): Use `avy-lead-faces' to represent the current
    decision depth. For `de-bruijn', prepend the old stuff, so that nothing
    moves.
    
    Fixes #53
---
 avy.el |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/avy.el b/avy.el
index 11b724e..427378d 100644
--- a/avy.el
+++ b/avy.el
@@ -142,6 +142,10 @@ Typically, these modes don't use the text representation.")
     '((t (:foreground "white" :background "gray")))
   "Face used for matched leading chars.")
 
+(defface avy-lead-face-2
+    '((t (:foreground "white" :background "#f86bf3")))
+  "Face used for leading chars.")
+
 (defface avy-lead-face
   '((t (:foreground "white" :background "#e52b50")))
   "Face used for the leading chars.")
@@ -150,6 +154,14 @@ Typically, these modes don't use the text representation.")
   '((t (:foreground "gray40")))
   "Face for whole window background during selection.")
 
+(defconst avy-lead-faces '(avy-lead-face
+                           avy-lead-face-0
+                           avy-lead-face-2
+                           avy-lead-face
+                           avy-lead-face-0
+                           avy-lead-face-2)
+  "Face sequence for `avy--overlay-at-full'.")
+
 ;;* Internals
 ;;** Tree
 (defmacro avy-multipop (lst n)
@@ -566,8 +578,16 @@ LEAF is normally ((BEG . END) . WND)."
                 (car leaf)))
          (wnd (cdr leaf))
          oov)
-    (when (or avy-highlight-first (> (length str) 1))
-      (set-text-properties 0 1 '(face avy-lead-face-0) str))
+    (dotimes (i len)
+      (set-text-properties (- len i 1) (- len i)
+                           `(face ,(nth i avy-lead-faces))
+                           str))
+    (when (eq avy-style 'de-bruijn)
+      (setq str (concat
+                 (propertize avy-current-path
+                             'face 'avy-lead-face-1)
+                 str))
+      (setq len (length str)))
     (with-selected-window wnd
       (save-excursion
         (goto-char beg)



reply via email to

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