Function: majutsu-interactive-toggle-region
majutsu-interactive-toggle-region is an interactive and natively
compiled function defined in majutsu-interactive.el.
Signature
(majutsu-interactive-toggle-region)
Documentation
Toggle selection of the region within the current hunk.
Key Bindings
This command is not in any keymaps.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-interactive.el
(defun majutsu-interactive-toggle-region ()
"Toggle selection of the region within the current hunk."
(interactive)
(unless (use-region-p)
(user-error "No region active"))
(magit-section-case
(jj-hunk
(let* ((hunk-id (majutsu-interactive--hunk-id it))
(range (majutsu-interactive--normalize-line-range
(region-beginning) (region-end)
(oref it content) (oref it end)))
(current (majutsu-interactive--get-selection hunk-id)))
(unless range
(user-error "Region is outside hunk"))
(cond
((eq current :all)
(majutsu-interactive--set-selection hunk-id (list range)))
((consp current)
(let* ((ranges (if (and current (consp (car current))) current (list current)))
(ranges (if (member range ranges)
(remove range ranges)
(cons range ranges)))
(ranges (majutsu-interactive--ranges-merge ranges)))
(majutsu-interactive--set-selection hunk-id (and ranges ranges))))
(t
(majutsu-interactive--set-selection hunk-id (list range))))
(majutsu-interactive--render-overlays)
(deactivate-mark)
(message "Region selection updated")))))