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)))