compleseus: disable ido and respect minibuffer binds evilification setting (#15710)
* compleseus: disable ido-mode when vertico and selectrum are used ido would inject inself instead of the regular `find-file' but if these are activated, we actually want the regular `find-file'. * core: provide minibuffer evilification predicate Many different layers need to decide whether to evilify their minibuffer maps. Provide a single function that puts the logic in one place. * compleseus: only evilify minibuffer binds when desired
This commit is contained in:
parent
99eb20e13c
commit
d6c3482663
|
@ -198,6 +198,12 @@ in `dotspacemacs-themes'.")
|
|||
(const hybrid) (cons symbol sexp))
|
||||
'spacemacs-dotspacemacs-init)
|
||||
|
||||
(defun spacemacs//support-evilified-buffer-p ()
|
||||
"Return non-nil if evil navigation should be enabled."
|
||||
(or (eq dotspacemacs-editing-style 'vim)
|
||||
(and (eq dotspacemacs-editing-style 'hybrid)
|
||||
hybrid-style-enable-evilified-state)))
|
||||
|
||||
(spacemacs|defc dotspacemacs-startup-banner 'official
|
||||
"Specify the startup banner. Default value is `official', it displays
|
||||
the official spacemacs logo. An integer value is the index of text
|
||||
|
|
|
@ -310,18 +310,22 @@
|
|||
(defun compleseus/init-selectrum ()
|
||||
(use-package selectrum
|
||||
:init
|
||||
;; Disable ido. We want to use the regular find-file etc.; enhanced by selectrum
|
||||
(setq ido-mode nil)
|
||||
|
||||
(selectrum-mode)
|
||||
(spacemacs/set-leader-keys
|
||||
"rl" 'selectrum-repeat
|
||||
"sl" 'selectrum-repeat)
|
||||
|
||||
:config
|
||||
;; TODO can we just use `minibuffer-mode-map'?
|
||||
(define-key selectrum-minibuffer-map (kbd "C-j") 'selectrum-next-candidate)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-r") 'consult-history)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-k") 'selectrum-previous-candidate)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-M-k") #'spacemacs/selectrum-previous-candidate-preview)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-M-j") #'spacemacs/selectrum-next-candidate-preview)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-SPC") #'spacemacs/embark-preview)))
|
||||
(when (spacemacs//support-evilified-buffer-p)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-j") 'selectrum-next-candidate)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-r") 'consult-history)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-k") 'selectrum-previous-candidate)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-M-k") #'spacemacs/selectrum-previous-candidate-preview)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-M-j") #'spacemacs/selectrum-next-candidate-preview)
|
||||
(define-key selectrum-minibuffer-map (kbd "C-SPC") #'spacemacs/embark-preview))))
|
||||
|
||||
(defun compleseus/init-vertico ()
|
||||
(use-package vertico
|
||||
|
@ -352,18 +356,22 @@
|
|||
vertico-count 20
|
||||
vertico-cycle nil)
|
||||
|
||||
;; Disable ido. We want to use the regular find-file etc.; enhanced by vertico
|
||||
(setq ido-mode nil)
|
||||
|
||||
(vertico-mode)
|
||||
|
||||
:config
|
||||
(define-key vertico-map (kbd "M-RET") #'vertico-exit-input)
|
||||
(define-key vertico-map (kbd "C-SPC") #'spacemacs/embark-preview)
|
||||
(define-key vertico-map (kbd "C-j") #'vertico-next)
|
||||
(define-key vertico-map (kbd "C-M-j") #'spacemacs/next-candidate-preview)
|
||||
(define-key vertico-map (kbd "C-S-j") #'vertico-next-group)
|
||||
(define-key vertico-map (kbd "C-k") #'vertico-previous)
|
||||
(define-key vertico-map (kbd "C-M-k") #'spacemacs/previous-candidate-preview)
|
||||
(define-key vertico-map (kbd "C-S-k") #'vertico-previous-group)
|
||||
(define-key vertico-map (kbd "C-r") #'consult-history)))
|
||||
(when (spacemacs//support-evilified-buffer-p)
|
||||
(define-key vertico-map (kbd "M-RET") #'vertico-exit-input)
|
||||
(define-key vertico-map (kbd "C-SPC") #'spacemacs/embark-preview)
|
||||
(define-key vertico-map (kbd "C-j") #'vertico-next)
|
||||
(define-key vertico-map (kbd "C-M-j") #'spacemacs/next-candidate-preview)
|
||||
(define-key vertico-map (kbd "C-S-j") #'vertico-next-group)
|
||||
(define-key vertico-map (kbd "C-k") #'vertico-previous)
|
||||
(define-key vertico-map (kbd "C-M-k") #'spacemacs/previous-candidate-preview)
|
||||
(define-key vertico-map (kbd "C-S-k") #'vertico-previous-group)
|
||||
(define-key vertico-map (kbd "C-r") #'consult-history))))
|
||||
|
||||
(defun compleseus/init-vertico-quick ()
|
||||
(use-package vertico-quick
|
||||
|
@ -386,8 +394,7 @@
|
|||
(defun compleseus/init-vertico-directory ()
|
||||
(use-package vertico-directory
|
||||
;; More convenient directory navigation commands
|
||||
:bind (:map vertico-map
|
||||
("C-h" . vertico-directory-delete-char))
|
||||
:init (bind-key "C-h" 'vertico-directory-delete-char vertico-map (spacemacs//support-evilified-buffer-p))
|
||||
;; Tidy shadowed file names
|
||||
:hook (rfn-eshadow-update-overlay . vertico-directory-tidy)))
|
||||
|
||||
|
|
|
@ -72,9 +72,7 @@ Unlike `eval-defun', this does not go to topmost function."
|
|||
|
||||
(defun spacemacs//edebug-mode (&rest args)
|
||||
"Additional processing when `edebug-mode' is activated or deactivated."
|
||||
(let ((evilified? (or (eq 'vim dotspacemacs-editing-style)
|
||||
(and (eq 'hybrid dotspacemacs-editing-style)
|
||||
hybrid-style-enable-evilified-state))))
|
||||
(let ((evilified? (spacemacs//support-evilified-buffer-p)))
|
||||
(if (not edebug-mode)
|
||||
;; disable edebug-mode
|
||||
(when evilified? (evil-evilified-state-exit))
|
||||
|
|
|
@ -73,12 +73,6 @@
|
|||
(let (git-link-open-in-browser)
|
||||
(call-interactively 'git-link-commit)))
|
||||
|
||||
(defun spacemacs//support-evilified-buffer-p ()
|
||||
"Return non-nil if evil navigation should be enabled."
|
||||
(or (eq dotspacemacs-editing-style 'vim)
|
||||
(and (eq dotspacemacs-editing-style 'hybrid)
|
||||
hybrid-style-enable-evilified-state)))
|
||||
|
||||
|
||||
;; git blame transient state
|
||||
|
||||
|
|
Loading…
Reference in New Issue