[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master ed7aa66 23/39: Remove a bunch of global variables
From: |
Justin Burkett |
Subject: |
[elpa] master ed7aa66 23/39: Remove a bunch of global variables |
Date: |
Thu, 21 Jun 2018 15:48:16 -0400 (EDT) |
branch: master
commit ed7aa66aadfe23cd318a656d0898a0441f8b395b
Author: Justin Burkett <address@hidden>
Commit: Justin Burkett <address@hidden>
Remove a bunch of global variables
Remove need for which-key--using-top-level. Add prefix-title slot to
which-key--pages object. Remove which-key--using-show-keymap. Remove
which-key--current-show-keymap-name. Remove
which-key--using-show-operator-keymap.
---
which-key.el | 82 ++++++++++++++++++++++++++----------------------------------
1 file changed, 36 insertions(+), 46 deletions(-)
diff --git a/which-key.el b/which-key.el
index 038c468..4911c4c 100644
--- a/which-key.el
+++ b/which-key.el
@@ -643,11 +643,7 @@ used.")
"Internal: Non-nil if popup was triggered with automatic
update.")
(defvar which-key--multiple-locations nil)
-(defvar which-key--using-top-level nil)
-(defvar which-key--using-show-keymap nil)
-(defvar which-key--using-show-operator-keymap nil)
(defvar which-key--inhibit-next-operator-popup nil)
-(defvar which-key--current-show-keymap-name nil)
(defvar which-key--prior-show-keymap-args nil)
(defvar which-key--previous-frame-size nil)
(defvar which-key--prefix-title-alist nil)
@@ -669,7 +665,9 @@ update.")
keys/page
page-nums
num-pages
- total-keys)
+ total-keys
+ prefix
+ prefix-title)
(defun which-key--rotate (list n)
(let* ((len (length list))
@@ -1065,12 +1063,7 @@ total height."
(unless (member real-this-command which-key--paging-functions)
(setq which-key--current-prefix nil
which-key--automatic-display nil
- which-key--using-top-level nil
- which-key--using-show-keymap nil
- which-key--using-show-operator-keymap nil
- which-key--current-show-keymap-name nil
- which-key--prior-show-keymap-args nil
- which-key--on-last-page nil)
+ which-key--prior-show-keymap-args nil)
(when (and which-key-idle-secondary-delay
which-key--secondary-timer-active)
(which-key--start-timer))
@@ -1524,10 +1517,7 @@ no title exists."
(if alternate alternate
(concat "Following " keys)))
(t ""))))
- (which-key--using-top-level which-key--using-top-level)
- (which-key--current-show-keymap-name
- which-key--current-show-keymap-name)
- (t "")))
+ (t "")))
(defun which-key--propertize (string &rest properties)
"Version of `propertize' that checks type of STRING."
@@ -1930,7 +1920,7 @@ should be minimized."
found (> (which-key--pages-num-pages result) 1)))
(if found prev-result result))))
-(defun which-key--create-pages (keys)
+(defun which-key--create-pages (keys &optional prefix-title)
"Create page strings using `which-key--list-to-pages'.
Will try to find the best number of rows and columns using the
given dimensions and the length and wdiths of KEYS. SEL-WIN-WIDTH
@@ -1952,6 +1942,10 @@ is the width of the live window."
(setq result
(which-key--create-pages-1 keys avl-lines avl-width min-lines
vertical))
(when (> (which-key--pages-num-pages result) 0)
+ (setf (which-key--pages-prefix-title result)
+ (or prefix-title
+ (which-key--maybe-get-prefix-title
+ (which-key--current-key-string))))
result)))
(defun which-key--lighter-status ()
@@ -1979,10 +1973,7 @@ is the width of the live window."
(paging-key-bound (eq 'which-key-C-h-dispatch
(key-binding (kbd paging-key))))
(key (if paging-key-bound which-key-paging-key "C-h")))
- (when (and which-key-use-C-h-commands
- (or which-key--using-show-operator-keymap
- (not (and which-key-allow-evil-operators
- (bound-and-true-p evil-this-operator)))))
+ (when which-key-use-C-h-commands
(which-key--propertize (format "[%s paging/help]" key)
'face 'which-key-note-face))))
@@ -2040,13 +2031,12 @@ and a page count."
(n-pages (which-key--pages-num-pages pages-obj))
(page-n (car (which-key--pages-page-nums pages-obj)))
(prefix-keys (key-description which-key--current-prefix))
+ (prefix-title (which-key--pages-prefix-title pages-obj))
(full-prefix (which-key--full-prefix prefix-keys))
(nxt-pg-hint (which-key--next-page-hint prefix-keys))
;; not used in left case
(status-line
- (concat (which-key--propertize (which-key--maybe-get-prefix-title
- (which-key--current-key-string))
- 'face 'which-key-note-face)
+ (concat (which-key--propertize prefix-title 'face
'which-key-note-face)
(when (< 1 n-pages)
(which-key--propertize (format " (%s of %s)" page-n
n-pages)
'face 'which-key-note-face)))))
@@ -2212,8 +2202,7 @@ after first page."
(defun which-key-show-top-level (&optional _)
"Show top-level bindings."
(interactive)
- (setq which-key--using-top-level "Top-level bindings")
- (which-key--create-buffer-and-show nil))
+ (which-key--create-buffer-and-show nil nil nil "Top-level bindings"))
;;;###autoload
(defun which-key-show-major-mode ()
@@ -2223,11 +2212,12 @@ This function will also detect evil bindings made using
`evil-define-key' in this map. These bindings will depend on the
current evil state. "
(interactive)
- (setq which-key--using-top-level "Major-mode bindings")
(let ((map-sym (intern (format "%s-map" major-mode))))
(if (and (boundp map-sym) (keymapp (symbol-value map-sym)))
(which-key--create-buffer-and-show
- nil nil (apply-partially #'which-key--map-binding-p (symbol-value
map-sym)))
+ nil nil
+ (apply-partially #'which-key--map-binding-p (symbol-value map-sym))
+ "Major-mode bindings")
(message "which-key: No map named %s" map-sym))))
;;;###autoload
@@ -2236,7 +2226,7 @@ current evil state. "
(interactive)
(let* ((key-lst (butlast (which-key--current-key-list)))
(which-key-inhibit t))
- (cond ((stringp which-key--current-show-keymap-name)
+ (cond (which-key--prior-show-keymap-args
(if (keymapp (cdr (car-safe which-key--prior-show-keymap-args)))
(let ((args (pop which-key--prior-show-keymap-args)))
(which-key--show-keymap (car args) (cdr args)))
@@ -2283,8 +2273,8 @@ prefix) if `which-key-use-C-h-commands' is non nil."
(prompt (concat (when (string-equal prefix-keys "")
(which-key--propertize
(concat " "
- (or which-key--current-show-keymap-name
- "Top-level bindings"))
+ (which-key--pages-prefix-title
+ which-key--pages-obj))
'face 'which-key-note-face))
full-prefix
(which-key--propertize
@@ -2320,14 +2310,15 @@ prefix) if `which-key-use-C-h-commands' is non nil."
(when (string-match-p regexp string)
(throw 'match t)))))
-(defun which-key--try-2-side-windows (keys loc1 loc2 &rest _ignore)
+(defun which-key--try-2-side-windows
+ (keys prefix-title loc1 loc2 &rest _ignore)
"Try to show KEYS (PAGE-N) in LOC1 first.
Only if no keys fit fallback to LOC2."
(let (pages1)
(let ((which-key-side-window-location loc1)
(which-key--multiple-locations t))
- (setq pages1 (which-key--create-pages keys)))
+ (setq pages1 (which-key--create-pages keys prefix-title)))
(if pages1
(progn
(setq which-key--pages-obj pages1)
@@ -2338,7 +2329,7 @@ Only if no keys fit fallback to LOC2."
(let ((which-key-side-window-location loc2)
(which-key--multiple-locations t))
(setq which-key--pages-obj
- (which-key--create-pages keys))
+ (which-key--create-pages keys prefix-title))
(which-key--show-page)
loc2))))
@@ -2395,9 +2386,7 @@ is selected interactively by mode in
`minor-mode-map-alist'."
(cdr (assq mode-sym minor-mode-map-alist)))))
(defun which-key--show-keymap (keymap-name keymap &optional prior-args all)
- (setq which-key--current-prefix nil
- which-key--current-show-keymap-name keymap-name
- which-key--using-show-keymap t)
+ (setq which-key--current-prefix nil)
(when prior-args (push prior-args which-key--prior-show-keymap-args))
(let ((bindings (which-key--get-bindings keymap nil all)))
(if (= (length bindings) 0)
@@ -2405,9 +2394,9 @@ is selected interactively by mode in
`minor-mode-map-alist'."
(cond ((listp which-key-side-window-location)
(setq which-key--last-try-2-loc
(apply #'which-key--try-2-side-windows
- bindings which-key-side-window-location)))
+ bindings keymap-name
which-key-side-window-location)))
(t (setq which-key--pages-obj
- (which-key--create-pages bindings))
+ (which-key--create-pages bindings keymap-name))
(which-key--show-page)))
(let* ((key (key-description (list (read-key))))
(next-def (lookup-key keymap (kbd key))))
@@ -2431,9 +2420,7 @@ is selected interactively by mode in
`minor-mode-map-alist'."
(make-composed-keymap (list evil-operator-shortcut-map
evil-operator-state-map
evil-motion-state-map))))
- (setq which-key--current-prefix nil
- which-key--current-show-keymap-name "evil operator/motion keys"
- which-key--using-show-operator-keymap t)
+ (setq which-key--current-prefix nil)
(when (keymapp keymap)
(let ((formatted-keys
(which-key--get-bindings keymap
#'which-key--evil-operator-filter)))
@@ -2442,7 +2429,8 @@ is selected interactively by mode in
`minor-mode-map-alist'."
((listp which-key-side-window-location)
(setq which-key--last-try-2-loc
(apply #'which-key--try-2-side-windows
- formatted-keys which-key-side-window-location)))
+ formatted-keys "evil operator/motion keys"
+ which-key-side-window-location)))
(t (setq which-key--pages-obj
(which-key--create-pages formatted-keys))
(which-key--show-page)))))
@@ -2459,7 +2447,8 @@ is selected interactively by mode in
`minor-mode-map-alist'."
(which-key--hide-popup)
(setq unread-command-events (listify-key-sequence key))))))))
-(defun which-key--create-buffer-and-show (&optional prefix-keys from-keymap
filter)
+(defun which-key--create-buffer-and-show
+ (&optional prefix-keys from-keymap filter prefix-title)
"Fill `which-key--buffer' with key descriptions and reformat.
Finally, show the buffer."
(setq which-key--current-prefix prefix-keys
@@ -2472,9 +2461,10 @@ Finally, show the buffer."
((listp which-key-side-window-location)
(setq which-key--last-try-2-loc
(apply #'which-key--try-2-side-windows
- formatted-keys which-key-side-window-location)))
+ formatted-keys prefix-title
+ which-key-side-window-location)))
(t (setq which-key--pages-obj
- (which-key--create-pages formatted-keys))
+ (which-key--create-pages formatted-keys prefix-title))
(which-key--show-page)))
(when which-key--debug
(message "On prefix \"%s\" which-key took %.0f ms." prefix-keys
@@ -2553,7 +2543,7 @@ Finally, show the buffer."
((and which-key-show-operator-state-maps
(bound-and-true-p evil-state)
(eq evil-state 'operator)
- (not which-key--using-show-operator-keymap))
+ (not (which-key--popup-showing-p)))
(which-key--show-evil-operator-keymap))
(which-key--automatic-display
(which-key--hide-popup)))))
- [elpa] master 0dc4e84 36/39: Use window-size-change-functions for detecting size changes, (continued)
- [elpa] master 0dc4e84 36/39: Use window-size-change-functions for detecting size changes, Justin Burkett, 2018/06/21
- [elpa] master ab60391 21/39: Use cl-struct to hold which-key pages, Justin Burkett, 2018/06/21
- [elpa] master 0b2739a 27/39: Fix display of meta bindings in which-key-show-keymap, Justin Burkett, 2018/06/21
- [elpa] master f77d421 19/39: Consolidate key binding collection into which-key--get-bindings, Justin Burkett, 2018/06/21
- [elpa] master 4370658 29/39: Factor out which-key--this-command-keys function, Justin Burkett, 2018/06/21
- [elpa] master a4095e8 37/39: Fix handling of duplicate (evil) bindings in show keymap, Justin Burkett, 2018/06/21
- [elpa] master f251541 18/39: Refactor show keymap functions, Justin Burkett, 2018/06/21
- [elpa] master 8a878de 32/39: Version 3.2.0, Justin Burkett, 2018/06/21
- [elpa] master 2c91540 35/39: Add support for evil's auxiliary maps in show-keymap functions, Justin Burkett, 2018/06/21
- [elpa] master bc97659 31/39: Fix and improve defcustoms, Justin Burkett, 2018/06/21
- [elpa] master ed7aa66 23/39: Remove a bunch of global variables,
Justin Burkett <=
- [elpa] master fb09d75 39/39: Merge commit 'ff79dfff66f880885c5893dd6fd05dc51173a476', Justin Burkett, 2018/06/21