Function: majutsu-diff--color-words-shadow-cursor
majutsu-diff--color-words-shadow-cursor is a natively compiled
function defined in majutsu-diff.el.
Signature
(majutsu-diff--color-words-shadow-cursor WINDOW OLDPOS DIR)
Documentation
Shadow cursor callback for color-words diffs.
Unlike smerge--refine-shadow-cursor, this maps through inline pairs
and falls back to region mapping for shared context.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-diff.el
(defun majutsu-diff--color-words-shadow-cursor (window _oldpos dir)
"Shadow cursor callback for color-words diffs.
Unlike `smerge--refine-shadow-cursor', this maps through inline pairs
and falls back to region mapping for shared context."
(let ((ol (window-parameter window 'smerge--refine-shadow-cursor)))
(if (not (and (bound-and-true-p smerge-refine-shadow-cursor)
(memq dir '(entered moved))))
(when ol (delete-overlay ol))
(with-current-buffer (window-buffer window)
(let ((other-beg (ignore-errors
(majutsu-diff--color-words-shadow-pos
(window-point window)))))
(if (not other-beg)
(when ol (delete-overlay ol))
(let ((other-end (min (point-max) (1+ other-beg))))
;; Handle wide chars (TAB/LF) — show as pseudo-space.
(when (memq (char-after other-beg) '(?\n ?\t))
(setq other-end other-beg))
(if ol (move-overlay ol other-beg other-end)
(setq ol (make-overlay other-beg other-end nil t nil))
(setf (window-parameter window 'smerge--refine-shadow-cursor)
ol)
(overlay-put ol 'window window)
(overlay-put ol 'face 'smerge-refine-shadow-cursor))
(overlay-put ol 'before-string
(when (= other-beg other-end)
(propertize
" " 'face 'smerge-refine-shadow-cursor))))))))))