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

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

[elpa] externals/listen 1714586ecf 022/103: Overlay


From: ELPA Syncer
Subject: [elpa] externals/listen 1714586ecf 022/103: Overlay
Date: Mon, 26 Feb 2024 12:59:11 -0500 (EST)

branch: externals/listen
commit 1714586ecfeddcd77f6238c5be764626638b88ef
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    Overlay
---
 listen-queue.el | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/listen-queue.el b/listen-queue.el
index b06bb944ae..49b9637869 100644
--- a/listen-queue.el
+++ b/listen-queue.el
@@ -38,6 +38,8 @@
 (defvar-local listen-queue nil
   "Queue in this buffer.")
 
+(defvar-local listen-queue-overlay nil)
+
 (defgroup listen-queue nil
   "Queues."
   :group 'listen)
@@ -52,7 +54,8 @@
      (let ((list-buffer (current-buffer)))
        (apply #',command queue args)
        (with-current-buffer list-buffer
-         (vtable-revert)))))
+         (vtable-revert-command)
+         (listen-queue--highlight-current)))))
 
 ;;;###autoload
 (defun listen-queue (queue)
@@ -104,16 +107,27 @@
                   "S" (lambda (&rest _) (listen-queue-shuffle listen-queue))))
       (pop-to-buffer (current-buffer))
       (goto-char (point-min))
-      (re-search-forward "▶" nil t)
+      (listen-queue--highlight-current)
       (hl-line-mode 1))))
 
+(defun listen-queue--highlight-current ()
+  (when listen-queue-overlay
+    (delete-overlay listen-queue-overlay))
+  (save-excursion
+    (goto-char (point-min))
+    (when (re-search-forward "▶" nil t)
+      (message "yep")
+      (setf listen-queue-overlay (make-overlay (pos-bol) (pos-eol)))
+      (overlay-put listen-queue-overlay 'face 'highlight))))
+
 (defun listen-queue--update-buffer (queue)
   "Update QUEUE's buffer, if any."
   (when-let ((buffer (cl-loop for buffer in (buffer-list)
                               when (eq queue (buffer-local-value 'listen-queue 
buffer))
                               return buffer)))
     (with-current-buffer buffer
-      (vtable-revert-command))))
+      (vtable-revert-command)
+      (listen-queue--highlight-current))))
 
 (declare-function listen-play "listen")
 (defun listen-queue-play (queue &optional track)



reply via email to

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