[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ace-window 91d736e 15/92: ace-window.el (aw-dispatch-de
From: |
Stefan Monnier |
Subject: |
[elpa] externals/ace-window 91d736e 15/92: ace-window.el (aw-dispatch-default): Clarify through destructuring |
Date: |
Wed, 17 Mar 2021 18:39:12 -0400 (EDT) |
branch: externals/ace-window
commit 91d736ed1a568cdd9dc378b0f800bef5bc7264a0
Author: Damien Cassou <damien@cassou.me>
Commit: Oleh Krehel <ohwoeowho@gmail.com>
ace-window.el (aw-dispatch-default): Clarify through destructuring
---
ace-window.el | 37 +++++++++++++++++++++----------------
1 file changed, 21 insertions(+), 16 deletions(-)
diff --git a/ace-window.el b/ace-window.el
index 046e5a2..f9bb391 100644
--- a/ace-window.el
+++ b/ace-window.el
@@ -260,28 +260,33 @@ LEAF is (PT . WND)."
(force-mode-line-update))
(defvar aw-dispatch-alist
- '((?x aw-delete-window " Ace - Delete Window")
- (?m aw-swap-window " Ace - Swap Window")
- (?M aw-move-window " Ace - Move Window")
- (?j aw-switch-buffer-in-window " Ace - Select Buffer")
+ '((?x aw-delete-window "Delete Window")
+ (?m aw-swap-window "Swap Window")
+ (?M aw-move-window "Move Window")
+ (?j aw-switch-buffer-in-window "Select Buffer")
(?n aw-flip-window)
- (?c aw-split-window-fair " Ace - Split Fair Window")
- (?v aw-split-window-vert " Ace - Split Vert Window")
- (?b aw-split-window-horz " Ace - Split Horz Window")
- (?i delete-other-windows " Ace - Delete Other Windows")
+ (?c aw-split-window-fair "Split Fair Window")
+ (?v aw-split-window-vert "Split Vert Window")
+ (?b aw-split-window-horz "Split Horz Window")
+ (?i delete-other-windows "Delete Other Windows")
(?o delete-other-windows))
"List of actions for `aw-dispatch-default'.")
+(defun aw--dispatch-action (char)
+ "Return item from `aw-dispatch-alist' matching CHAR."
+ (assoc char aw-dispatch-alist))
+
(defun aw-dispatch-default (char)
"Perform an action depending on CHAR."
- (let ((val (cdr (assoc char aw-dispatch-alist))))
- (if val
- (if (and (car val) (cadr val))
- (prog1 (setq aw-action (car val))
- (aw-set-mode-line (cadr val)))
- (funcall (car val))
- (throw 'done 'exit))
- (avy-handler-default char))))
+ (let ((action (aw--dispatch-action char)))
+ (cl-destructuring-bind (_key fn &optional description)
(aw--dispatch-action char)
+ (if action
+ (if (and fn description)
+ (prog1 (setq aw-action fn)
+ (aw-set-mode-line (format " Ace - %s" description)))
+ (funcall fn)
+ (throw 'done 'exit))
+ (avy-handler-default char)))))
(defun aw-select (mode-line &optional action)
"Return a selected other window.
- [elpa] externals/ace-window f6653fb 06/92: Fix up aw-leading-char-style 'path setting, (continued)
- [elpa] externals/ace-window f6653fb 06/92: Fix up aw-leading-char-style 'path setting, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 92bd29c 08/92: Fix frames order, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 9aec100 01/92: Allow to pop current buffer and move it with "M" during dispatch, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window f54d2bd 11/92: ace-window.el (ace-maximize-window): Rename, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window c5e31ce 16/92: ace-window.el (aw-show-dispatch-help): Add and bind to "?", Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window c6f5c03 20/92: Clarify when aw-dispatch-always should be set to t., Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window c875ffb 22/92: ace-window.el (aw-show-dispatch-help): Clean up overlays, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 6aaf1e6 13/92: Fix typo in docstring of aw-background, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 77cc05f 07/92: Add 'visible option for aw-scope, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 056abfe 14/92: ace-window.el (aw-switch-buffer-in-window): Add and bind to "j", Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 91d736e 15/92: ace-window.el (aw-dispatch-default): Clarify through destructuring,
Stefan Monnier <=
- [elpa] externals/ace-window a488657 17/92: ace-window.el (aw-show-dispatch-help): Call ace-window, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 2701919 18/92: ace-window.el (aw-key-face): Add, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window a037b7a 19/92: Cask: Remove dependency, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 3665daf 24/92: ace-window.el (aw-dispatch-default): No error on "C-g", Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 74c9cef 25/92: ace-window.el (aw-dispatch-when-more-than): New defcustom, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 9bec357 28/92: ace-window.el: Fix compiler warning, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 2f433c8 29/92: Added ability to specify a new frame window as the target, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 6d3a6a0 23/92: ace-window.el (aw-switch-buffer-in-window): Use ivy if available, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window 137af0d 32/92: ace-window.el: Make "z" open a frame right away, Stefan Monnier, 2021/03/17
- [elpa] externals/ace-window be3a885 38/92: Fix so ace-window-display-mode ids are displayed in new frames, Stefan Monnier, 2021/03/17