branch: elpa/magit
commit 58cb6f40541add80526522a9382a553166ab6a6a
Author: Jonas Bernoulli <[email protected]>
Commit: Jonas Bernoulli <[email protected]>
Define more diff arguments using transient-define-argument
---
lisp/magit-diff.el | 49 ++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 38 insertions(+), 11 deletions(-)
diff --git a/lisp/magit-diff.el b/lisp/magit-diff.el
index 19ca8e192aa..22e52e60012 100644
--- a/lisp/magit-diff.el
+++ b/lisp/magit-diff.el
@@ -879,12 +879,12 @@ and `:slant'."
(magit-diff:--diff-merges)
(magit-diff:-M)
(magit-diff:-C)
- (5 "-R" "Reverse sides" "-R")
+ (5 magit-diff:-R)
(5 magit-diff:--color-moved)
(5 magit-diff:--color-moved-ws)
- ("-x" "Disallow external diff drivers" "--no-ext-diff")
- ("-s" "Show stats" "--stat")
- ("=g" "Show signature" "--show-signature")]
+ (magit-diff:--no-ext-diff)
+ (magit-diff:--stat)
+ (magit-diff:--show-signature)]
["Actions"
[("d" "Dwim" magit-diff-dwim)
("r" "Diff range" magit-diff-range)
@@ -914,15 +914,12 @@ and `:slant'."
(magit-diff:--diff-merges)
(magit-diff:-M)
(magit-diff:-C)
- (5 "-R" "Reverse sides" "-R"
- :if-derived magit-diff-mode)
+ (5 magit-diff:-R)
(5 magit-diff:--color-moved)
(5 magit-diff:--color-moved-ws)
- ("-x" "Disallow external diff drivers" "--no-ext-diff")
- ("-s" "Show stats" "--stat"
- :if-derived magit-diff-mode)
- ("=g" "Show signature" "--show-signature"
- :if-derived magit-diff-mode)]
+ (magit-diff:--no-ext-diff)
+ (magit-diff:--stat)
+ (magit-diff:--show-signature)]
[["Refresh"
("g" "buffer" magit-diff-refresh)
("s" "buffer and set defaults" transient-set-and-exit)
@@ -1060,6 +1057,36 @@ and `:slant'."
(?a "[a]ll space" "ignore-all-space")
(?n "[n]o" "no")))
+(transient-define-argument magit-diff:-R ()
+ :description "Reverse sides"
+ :class 'transient-switch
+ :argument "-R"
+ :if 'magit-diff-argument-predicate)
+
+(transient-define-argument magit-diff:--no-ext-diff ()
+ :description "Disallow external diff drivers"
+ :class 'transient-switch
+ :argument "--no-ext-diff"
+ :key "-x")
+
+(transient-define-argument magit-diff:--stat ()
+ :description "Show stats"
+ :class 'transient-switch
+ :argument "--stat"
+ :key "-s"
+ :if 'magit-diff-argument-predicate)
+
+(transient-define-argument magit-diff:--show-signature ()
+ :description "Show signature"
+ :class 'transient-switch
+ :argument "--show-signature"
+ :key "=g"
+ :if 'magit-diff-argument-predicate)
+
+(defun magit-diff-argument-predicate ()
+ (or (eq transient--prefix 'magit-diff)
+ (derived-mode-p 'magit-diff-mode)))
+
;;;; Setup Commands
;;;###autoload