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

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

[nongnu] elpa/multiple-cursors 3112e61 377/434: When cursor-type is bar,


From: ELPA Syncer
Subject: [nongnu] elpa/multiple-cursors 3112e61 377/434: When cursor-type is bar, mc/cursors appear as bars
Date: Sat, 7 Aug 2021 09:21:03 -0400 (EDT)

branch: elpa/multiple-cursors
commit 3112e618248097f392b8a6c87d4e12a28da2977c
Author: Jules Tamagnan <jtamagnan@gmail.com>
Commit: Jules Tamagnan <jtamagnan@gmail.com>

    When cursor-type is bar, mc/cursors appear as bars
---
 multiple-cursors-core.el | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/multiple-cursors-core.el b/multiple-cursors-core.el
index aa5b2c2..9507cbc 100644
--- a/multiple-cursors-core.el
+++ b/multiple-cursors-core.el
@@ -35,6 +35,11 @@
   "The face used for fake cursors"
   :group 'multiple-cursors)
 
+(defface mc/cursor-bar-face
+  `((t (:height 1 :background ,(face-attribute 'cursor :background))))
+  "The face used for fake cursors if the cursor-type is bar"
+  :group 'multiple-cursors)
+
 (defface mc/region-face
   '((t :inherit region))
   "The face used for fake regions"
@@ -98,16 +103,26 @@
        (set-marker ,p nil)
        (set-marker ,s nil))))
 
+(defun mc/cursor-is-bar ()
+  "returns true if the cursor is a bar"
+  (cond ((equalp cursor-type 'bar) t)
+   ((when (listp cursor-type) (equalp (car cursor-type) 'bar)) t)
+   (t nil)))
+
 (defun mc/make-cursor-overlay-at-eol (pos)
   "Create overlay to look like cursor at end of line."
   (let ((overlay (make-overlay pos pos nil nil nil)))
-    (overlay-put overlay 'after-string (propertize " " 'face 'mc/cursor-face))
+    (if (mc/cursor-is-bar)
+       (overlay-put overlay 'before-string (propertize "|" 'face 
'mc/cursor-bar-face))
+      (overlay-put overlay 'after-string (propertize " " 'face 
'mc/cursor-face)))
     overlay))
 
 (defun mc/make-cursor-overlay-inline (pos)
   "Create overlay to look like cursor inside text."
   (let ((overlay (make-overlay pos (1+ pos) nil nil nil)))
-    (overlay-put overlay 'face 'mc/cursor-face)
+    (if (mc/cursor-is-bar)
+       (overlay-put overlay 'before-string (propertize "|" 'face 
'mc/cursor-bar-face))
+      (overlay-put overlay 'face 'mc/cursor-face))
     overlay))
 
 (defun mc/make-cursor-overlay-at-point ()



reply via email to

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