[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/transient 49a61fb905 13/20: Support setting per-suffix
From: |
Jonas Bernoulli |
Subject: |
[elpa] externals/transient 49a61fb905 13/20: Support setting per-suffix level for duplicated commands |
Date: |
Tue, 24 Oct 2023 13:42:16 -0400 (EDT) |
branch: externals/transient
commit 49a61fb905f647a4635595cf20e394e5e8868858
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
Support setting per-suffix level for duplicated commands
Re #153.
---
lisp/transient.el | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/lisp/transient.el b/lisp/transient.el
index 30083d79a7..d446b43551 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -1893,7 +1893,10 @@ value. Otherwise return CHILDREN as is."
(defun transient--init-suffix (levels spec)
(pcase-let* ((`(,level ,class ,args) spec)
(cmd (plist-get args :command))
- (level (or (alist-get cmd levels) level)))
+ (key (transient--kbd (plist-get args :key)))
+ (level (or (alist-get (cons cmd key) levels nil nil #'equal)
+ (alist-get cmd levels)
+ level)))
(let ((fn (and (symbolp cmd)
(symbol-function cmd))))
(when (autoloadp fn)
@@ -2678,13 +2681,17 @@ transient is active."
(level
(let* ((prefix (oref transient--prefix command))
(alist (alist-get prefix transient-levels))
- (sym command))
+ (akey command))
(cond ((eq command prefix)
(oset transient--prefix level level)
- (setq sym t))
+ (setq akey t))
(t
- (oset (transient-suffix-object command) level level)))
- (setf (alist-get sym alist) level)
+ (oset (transient-suffix-object command) level level)
+ (when (cdr (cl-remove-if-not (lambda (obj)
+ (eq (oref obj command) command))
+ transient--suffixes))
+ (setq akey (cons command (this-command-keys))))))
+ (setf (alist-get akey alist) level)
(setf (alist-get prefix transient-levels) alist))
(transient-save-levels)
(transient--show))
- [elpa] externals/transient updated (04f87b4ab3 -> 4f67a033fd), Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient 3e43f1fd90 04/20: transient--pixel-width: Move definition, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient c2a75880ae 14/20: transient-suffix: Add FACE slot, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient 8b988fc4bd 03/20: Use the other variant of the and-let* kludge, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient dd7ed3869b 01/20: Indent code blocks in docstrings consistently, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient a19c0bda1d 05/20: transient--window: Tweak docstring, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient a80307c7ce 06/20: transient--current-buffer: New variable, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient fb191f8cf3 08/20: Optionally refresh suffixes and keymaps after every command, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient a81eff942b 11/20: transient-font-lock-keywords: Remove transient-define-groups, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient 49a61fb905 13/20: Support setting per-suffix level for duplicated commands,
Jonas Bernoulli <=
- [elpa] externals/transient 2776dbc07c 16/20: transient--flatten-suffixes: Cosmetics, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient aee5f23447 09/20: Improve docstrings, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient f8209cc8f4 15/20: transient--maybe-pad-keys: Ignore raw strings, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient ae4ac656b1 18/20: transient-group: Always bind PAD-KEYS slot, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient 4f67a033fd 20/20: Support display-only information in place of a suffix, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient d3e735f2d0 02/20: transient--post-command: Fix typo in docstring, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient 0717589a62 07/20: transient--pending-suffix: New variable, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient c63558aaa9 10/20: transient--delete-window: Shorten long line, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient 777d95e86d 12/20: transient-set-level: Cosmetics, Jonas Bernoulli, 2023/10/24
- [elpa] externals/transient ae5aba367c 19/20: transient--maybe-pad-keys: Delay actually padding, Jonas Bernoulli, 2023/10/24