Function: majutsu-ediff-dwim
majutsu-ediff-dwim is an interactive and natively compiled function
defined in majutsu-ediff.el.
Signature
(majutsu-ediff-dwim)
Documentation
Context-aware Ediff based on current section.
Key Bindings
This command is not in any keymaps.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-ediff.el
;;;###autoload(autoload 'majutsu-ediff-dwim "majutsu-ediff" nil t)
(transient-define-suffix majutsu-ediff-dwim ()
"Context-aware Ediff based on current section."
:advice* #'majutsu--transient-with-selection-buffer
(interactive)
(cl-labels ((dwim ()
(magit-section-case
(jj-hunk
(save-excursion
(goto-char (oref (oref it parent) start))
(dwim)))
(jj-file
(let* ((file (oref it value))
(range (majutsu-ediff--current-range)))
(majutsu-ediff-compare (car range) (cdr range) file)))
(jj-commit
(majutsu-ediff-show-revision (oref it value)))
(t
(let* ((range (majutsu-ediff--current-range))
(file (majutsu-file-at-point)))
(cond
((and (car range) (cdr range))
(if file
(majutsu-ediff-compare (car range) (cdr range) file)
(majutsu-ediff-compare (car range) (cdr range))))
((car range)
(majutsu-ediff-show-revision (car range)))
(t
(majutsu-ediff-show-revision "@"))))))))
(dwim)))