From a9d7764f80b241978f3d4e76bc981ef10bab5d70 Mon Sep 17 00:00:00 2001 From: Zach Kost-Smith Date: Tue, 15 Dec 2020 09:59:00 -0600 Subject: [PATCH] Add option to disable bar-style fake cursors (#367) --- multiple-cursors-core.el | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/multiple-cursors-core.el b/multiple-cursors-core.el index 5b6ef5a..6db87a8 100644 --- a/multiple-cursors-core.el +++ b/multiple-cursors-core.el @@ -40,6 +40,18 @@ "The face used for fake cursors if the cursor-type is bar" :group 'multiple-cursors) +(defcustom mc/match-cursor-style t + "If non-nil, attempt to match the cursor style that the user +has selected. Namely, use vertical bars the user has configured +Emacs to use that cursor. + +If nil, just use standard rectangle cursors for all fake cursors. + +In some modes/themes, the bar fake cursors are either not +rendered or shift text." + :type '(boolean) + :group 'multiple-cursors) + (defface mc/region-face '((t :inherit region)) "The face used for fake regions" @@ -125,7 +137,7 @@ (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))) - (if (mc/cursor-is-bar) + (if (and mc/match-cursor-style (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)) @@ -133,7 +145,7 @@ (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))) - (if (mc/cursor-is-bar) + (if (and mc/match-cursor-style (mc/cursor-is-bar)) (overlay-put overlay 'before-string (propertize "|" 'face 'mc/cursor-bar-face)) (overlay-put overlay 'face 'mc/cursor-face)) overlay))