diff --git a/core/core-keybinds.el b/core/core-keybinds.el index bfbb135a0..d39210169 100644 --- a/core/core-keybinds.el +++ b/core/core-keybinds.el @@ -10,14 +10,6 @@ (defvar doom-localleader-key "SPC m" "The localleader prefix key, for major-mode specific commands.") -(defvar doom-mode-map (make-sparse-keymap) - "TODO") - -(define-minor-mode doom-mode - "TODO" - :global t - :init-value t) - (defvar doom-evil-state-alist '((?n . normal) (?v . visual) @@ -303,7 +295,7 @@ Example (when (memq 'global states) (push `(define-key ,keymap ,key ,def) forms)) (when-let* ((states (delq 'global states))) - (push `(,(if doom--defer 'evil-define-key 'evil-define-key*) + (push `(,(if doom--defer #'evil-define-key #'evil-define-key*) ',states ,keymap ,key ,def) forms)))) (states @@ -311,18 +303,17 @@ Example (throw 'skip 'evil)) (dolist (state states) (push (if (eq state 'global) - `(define-key doom-mode-map ,key ,def) + `(global-set-key ,key ,def) (if doom--local `(evil-local-set-key ',state ,key ,def) - `(evil-define-key* ',state doom-mode-map ,key ,def))) + `(evil-define-key* ',state 'global ,key ,def))) forms))) (doom--keymaps (dolist (keymap doom--keymaps) (push `(define-key ,keymap ,key ,def) forms))) (t - (push (if doom--local - `(local-set-key ,key ,def) - `(define-key doom-mode-map ,key ,def)) + (push `(,(if doom--local #'local-set-key #'global-set-key) + ,key ,def) forms)))) (setq states '() doom--local nil diff --git a/modules/config/default/+bindings.el b/modules/config/default/+bindings.el index 9128235b9..68fc7dd50 100644 --- a/modules/config/default/+bindings.el +++ b/modules/config/default/+bindings.el @@ -732,3 +732,28 @@ (:after view (:map view-mode-map "" #'View-quit-all))) + +;; +;; Evil-collection fixes +;; + +(when (featurep 'evil-collection) + ;; don't interfere with leader key + (evil-define-key* '(normal visual) special-mode-map (kbd doom-leader-key) nil) + (after! dired + (evil-define-key* 'normal dired-mode-map (kbd doom-leader-key) nil)) + + ;; don't remap gd or K; Doom does this already + ;; TODO find a better way + (after! compile + (evil-define-key* '(normal visual) compilation-mode-map "gd" nil "K" nil)) + (after! racer + (evil-define-key* 'normal racer-mode-map "gd" nil "K" nil)) + (after! anaconda-mode + (evil-define-key* 'normal anaconda-mode-map "gd" nil "K" nil)) + (after! alchemist + (evil-define-key* 'normal alchemist-mode-map "gd" nil "K" nil "gz" nil)) + (after! go-mode + (evil-define-key* 'normal go-mode-map "gd" nil "K" nil)) + (after! lua-mode + (evil-define-key* 'normal lua-mode-map "K" nil))) diff --git a/modules/feature/evil/config.el b/modules/feature/evil/config.el index 362ef23f7..fc32f7dcf 100644 --- a/modules/feature/evil/config.el +++ b/modules/feature/evil/config.el @@ -63,9 +63,6 @@ (add-hook 'doom-init-hook #'evil-mode) (evil-select-search-module 'evil-search-module 'evil-search) - ;; ensure `doom-mode-map' has high precedence - (evil-make-overriding-map doom-mode-map) - (set! :popup "^\\*evil-registers" '((size . 0.3))) (set! :popup "^\\*Command Line" '((size . 8)))