Add global handling and key themes in config
This commit is contained in:
parent
79fc09b014
commit
352a7ee7b5
|
@ -352,9 +352,12 @@ this confusing. It will be included if
|
||||||
:group 'evil-collection)
|
:group 'evil-collection)
|
||||||
|
|
||||||
(defcustom evil-collection-config
|
(defcustom evil-collection-config
|
||||||
'((buff-menu :defer t)
|
'((evil
|
||||||
|
:debugger t :minibuffer nil :cal-org nil :unimpaired t :usages t)
|
||||||
|
(buff-menu :defer t)
|
||||||
(calc :defer t)
|
(calc :defer t)
|
||||||
(comint :defer t)
|
(comint :defer t)
|
||||||
|
(corfu :key-themes (default tab-n-go magic-return magic-backspace))
|
||||||
(debug :defer t)
|
(debug :defer t)
|
||||||
(diff-mode :defer t)
|
(diff-mode :defer t)
|
||||||
(dired :defer t)
|
(dired :defer t)
|
||||||
|
@ -914,14 +917,30 @@ instead of the modes in `evil-collection-mode-list'.
|
||||||
(if modes
|
(if modes
|
||||||
(or (listp modes) (setq modes (list modes)))
|
(or (listp modes) (setq modes (list modes)))
|
||||||
(setq modes evil-collection-mode-list))
|
(setq modes evil-collection-mode-list))
|
||||||
(let ((configs evil-collection-config)
|
(let* ((global (cdr (cl-find-if (lambda (mode)
|
||||||
(deferred-modes)
|
(eq (car mode) 'evil))
|
||||||
(delays))
|
evil-collection-config)))
|
||||||
|
(configs (if global
|
||||||
|
(cl-remove-if
|
||||||
|
(lambda (mode) (eq (car mode) 'evil))
|
||||||
|
evil-collection-config)
|
||||||
|
evil-collection-config))
|
||||||
|
;; :defer
|
||||||
|
(deferred-modes)
|
||||||
|
(delays)
|
||||||
|
;; :key-themes
|
||||||
|
(key-theme-modes)
|
||||||
|
(key-themes))
|
||||||
(dolist (config configs)
|
(dolist (config configs)
|
||||||
(let ((defer (plist-get (cdr config) :defer)))
|
(let ((defer (plist-get (cdr config) :defer))
|
||||||
|
(key-theme (plist-get (cdr config) :key-themes))
|
||||||
|
(mode (car config)))
|
||||||
(when defer
|
(when defer
|
||||||
(push (car config) deferred-modes)
|
(push mode deferred-modes)
|
||||||
(push defer delays))))
|
(push defer delays))
|
||||||
|
(when key-theme
|
||||||
|
(push mode key-theme-modes)
|
||||||
|
(push key-theme key-themes))))
|
||||||
(let ((filtered-modes
|
(let ((filtered-modes
|
||||||
(cl-remove-if
|
(cl-remove-if
|
||||||
(lambda (mode)
|
(lambda (mode)
|
||||||
|
@ -937,6 +956,19 @@ instead of the modes in `evil-collection-mode-list'.
|
||||||
(setf (car x) mode))))
|
(setf (car x) mode))))
|
||||||
filterp))
|
filterp))
|
||||||
modes)))
|
modes)))
|
||||||
|
(when global
|
||||||
|
(setf
|
||||||
|
evil-collection-setup-minibuffer (plist-get global :minibuffer)
|
||||||
|
evil-collection-setup-debugger-keys (plist-get global :debugger)
|
||||||
|
evil-collection-calendar-want-org-bindings (plist-get global :cal-org)
|
||||||
|
evil-collection-want-unimpaired-p (plist-get global :unimpaired)
|
||||||
|
evil-collection-want-find-usages-bindings (plist-get global :usages)))
|
||||||
|
(dotimes (i (length key-themes))
|
||||||
|
(let ((mode (nth i key-theme-modes))
|
||||||
|
(theme (nth i key-themes))
|
||||||
|
(custom (format "evil-collection-%S-key-themes" mode)))
|
||||||
|
(message (format "Setting up key theme: %S" custom))
|
||||||
|
(setf (symbol-value (intern custom)) theme)))
|
||||||
(evil-collection-init filtered-modes))
|
(evil-collection-init filtered-modes))
|
||||||
(message (format "Deferring: %S" deferred-modes))
|
(message (format "Deferring: %S" deferred-modes))
|
||||||
(dotimes (i (length deferred-modes))
|
(dotimes (i (length deferred-modes))
|
||||||
|
|
Loading…
Reference in New Issue