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

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

[elpa] externals/mpdired 687eec724a 048/133: start working on marks


From: ELPA Syncer
Subject: [elpa] externals/mpdired 687eec724a 048/133: start working on marks
Date: Sun, 10 Mar 2024 15:59:35 -0400 (EDT)

branch: externals/mpdired
commit 687eec724a592d7c26b98083c88bce443cf5e712
Author: Manuel Giraud <manuel@ledu-giraud.fr>
Commit: Manuel Giraud <manuel@ledu-giraud.fr>

    start working on marks
---
 mpdired.el | 44 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 41 insertions(+), 3 deletions(-)

diff --git a/mpdired.el b/mpdired.el
index d781c12378..66ca83d690 100644
--- a/mpdired.el
+++ b/mpdired.el
@@ -23,6 +23,9 @@
   "N"      'mpdired-next-internal
   "P"      'mpdired-previous-internal
   "a"      'mpdired-add-at-point
+  "m"      'mpdired-mark-at-point
+  "u"      'mpdired-unmark-at-point
+  "<DEL>"  'mpdired-previous-unmark
   ;; Only for queue
   "D"      'mpdired-delete)
 
@@ -157,6 +160,7 @@
   (car (last (split-string string "/"))))
 
 (defun mpdired--insert-entry (entry)
+  (insert "  ")
   (let ((bol (line-beginning-position)))
     (cond ((stringp entry)
           (insert (mpdired--short-name entry))
@@ -171,7 +175,7 @@
 (defun mpdired--insert-song (song)
   (let ((id (car song))
        (uri (cadr song)))
-    (insert (propertize uri 'face 'dired-ignored))
+    (insert "  " (propertize uri 'face 'dired-ignored))
     (let ((bol (line-beginning-position))
          (eol (line-end-position)))
       (put-text-property bol eol 'id id)
@@ -393,13 +397,13 @@
 (defun mpdired-next-line ()
   (interactive)
   (forward-line)
-  (goto-char (line-beginning-position))
+  (goto-char (+ 2 (line-beginning-position)))
   (mpdired--save-point))
 
 (defun mpdired-previous-line ()
   (interactive)
   (forward-line -1)
-  (goto-char (line-beginning-position))
+  (goto-char (+ 2 (line-beginning-position)))
   (mpdired--save-point))
 
 (defun mpdired-listall-at-point ()
@@ -459,6 +463,40 @@
                  (mpdired-listall-internal "")))
               (t (mpdired-listall-internal ""))))))
 
+(defun mpdired-mark-at-point ()
+  (interactive)
+  (let ((bol (line-beginning-position))
+       (mark ?*)
+       (inhibit-read-only t))
+    (put-text-property bol (line-end-position) 'mark mark)
+    (save-excursion
+      (goto-char bol)
+      (delete-char 1)
+      (insert-char mark))
+    (mpdired-next-line)))
+
+(defun mpdired-unmark-at-point ()
+  (interactive)
+  (let ((bol (line-beginning-position))
+       (inhibit-read-only t))
+    (remove-text-properties bol (line-end-position) '(mark))
+    (save-excursion
+      (goto-char bol)
+      (delete-char 1)
+      (insert-char ? ))
+    (mpdired-next-line)))
+
+(defun mpdired-previous-unmark ()
+  (interactive)
+  (mpdired-previous-line)
+  (let ((bol (line-beginning-position))
+       (inhibit-read-only t))
+    (remove-text-properties bol (line-end-position) '(mark))
+    (save-excursion
+      (goto-char bol)
+      (delete-char 1)
+      (insert-char ? ))))
+
 (defun mpdired-add-at-point ()
   (interactive)
   (let* ((bol (line-beginning-position))



reply via email to

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