branch: externals/ergoemacs-mode commit 312136298570fbb9f51523bec2e357cf88751adb Author: Walter Landry <wlan...@caltech.edu> Commit: Walter Landry <wlan...@caltech.edu>
Fix magit, message (and thus mu4e), and isearch --- ergoemacs-themes.el | 173 +++++++++++++++++++++++++++++----------------------- 1 file changed, 98 insertions(+), 75 deletions(-) diff --git a/ergoemacs-themes.el b/ergoemacs-themes.el index 5a805cf..93080ef 100644 --- a/ergoemacs-themes.el +++ b/ergoemacs-themes.el @@ -65,6 +65,63 @@ will bind 'Meta-k' to next-line. If your layout is 'colemak', it will bind ) ) +(defun ergoemacs-unset-keys-in-map (local-map) + "Unset all of the keys in a local map that we usually prefer to use the ergoemacs keys." + (ergoemacs-define-key local-map (kbd "M-h") nil) + (ergoemacs-define-key local-map (kbd "M-H") nil) + + (ergoemacs-define-key local-map (kbd "M-e") nil) + (ergoemacs-define-key local-map (kbd "M-r") nil) + + (ergoemacs-define-key local-map (kbd "M-u") nil) + (ergoemacs-define-key local-map (kbd "M-o") nil) + (ergoemacs-define-key local-map (kbd "M-U") nil) + (ergoemacs-define-key local-map (kbd "M-O") nil) + + (ergoemacs-define-key local-map (kbd "M-s") nil) + (ergoemacs-define-key local-map (kbd "M-S") nil) + + (ergoemacs-define-key local-map (kbd "M-d") nil) + (ergoemacs-define-key local-map (kbd "M-f") nil) + + (ergoemacs-define-key local-map (kbd "M-n") nil) + (ergoemacs-define-key local-map (kbd "M-N") nil) + (ergoemacs-define-key local-map (kbd "M-p") nil) + + (ergoemacs-define-key local-map (kbd "M-j") nil) + (ergoemacs-define-key local-map (kbd "M-l") nil) + (ergoemacs-define-key local-map (kbd "M-i") nil) + (ergoemacs-define-key local-map (kbd "M-k") nil) + + (ergoemacs-define-key local-map (kbd "M-J") nil) + (ergoemacs-define-key local-map (kbd "M-L") nil) + (ergoemacs-define-key local-map (kbd "M-I") nil) + (ergoemacs-define-key local-map (kbd "M-K") nil) + + (ergoemacs-define-key local-map (kbd "M-z") nil) + (ergoemacs-define-key local-map (kbd "M-x") nil) + (ergoemacs-define-key local-map (kbd "M-c") nil) + (ergoemacs-define-key local-map (kbd "M-v") nil) + (ergoemacs-define-key local-map (kbd "M-C") nil) + (ergoemacs-define-key local-map (kbd "M-V") nil) + + (ergoemacs-define-key local-map (kbd "M-a") nil) + (ergoemacs-define-key local-map (kbd "M-A") nil) + + (define-key local-map (kbd "C-w") nil) + (define-key local-map (kbd "C-n") nil) + (define-key local-map (kbd "C-S-w") nil) + (define-key local-map (kbd "C-S-n") nil) + + (define-key local-map (kbd "C-s") nil) + (define-key local-map (kbd "C-S-s") nil) + (define-key local-map (kbd "C-o") nil) + (define-key local-map (kbd "C-S-o") nil) + (define-key local-map (kbd "C-r") nil) + (define-key local-map (kbd "C-p") nil) + (define-key local-map (kbd "C-l") nil) +) + (defun ergoemacs-set-standard-vars () "Enabled/changed variables/modes" (setq org-CUA-compatible t @@ -202,12 +259,11 @@ calling any other ergoemacs-set-* function" (global-set-key (kbd "M-b") nil) (global-set-key (kbd "M-f") nil) (global-set-key (kbd "M-d") nil) - (ergoemacs-define-key isearch-mode-map (kbd "M-n") nil) (global-set-key (kbd "C-w") nil) (global-set-key (kbd "M-w") nil) - (global-set-key (kbd "C-y") nil) ;; Yank = paste - (global-set-key (kbd "M-y") nil) ;; Yank-pop = paste cycle + (global-set-key (kbd "C-y") nil) + (global-set-key (kbd "M-y") nil) (global-set-key (kbd "C-_") nil) (global-set-key (kbd "C-/") nil) (global-set-key (kbd "C-x u") nil) @@ -238,6 +294,8 @@ calling any other ergoemacs-set-* function" (global-unset-key (kbd "C-l")) (global-unset-key (kbd "C-k")) (global-unset-key (kbd "M-;")) + + (ergoemacs-unset-keys-in-map isearch-mode-map) ) ;;; Fixed components @@ -506,19 +564,15 @@ calling any other ergoemacs-set-* function" (ergoemacs-define-key isearch-mode-map (kbd "<escape>") 'isearch-abort) ) -(ergoemacs-component ergoemacs-remaps () +(defun ergoemacs-set-remaps () "Remaps for ergoemacs-mode" - (when mark-active - (global-set-key (kbd "TAB") 'indent-region)) - (when ergoemacs-mode - (global-set-key [remap eshell] 'ergoemacs-eshell-here) - (global-set-key [remap powershell] 'ergoemacs-powershell-here) - (global-set-key [remap shell] 'ergoemacs-shell-here) - (global-set-key [remap universal-argument] - 'ergoemacs-command-loop--universal-argument) - (global-set-key [remap describe-mode] - 'ergoemacs-describe-major-mode) - ) + (global-set-key [remap eshell] 'ergoemacs-eshell-here) + (global-set-key [remap powershell] 'ergoemacs-powershell-here) + (global-set-key [remap shell] 'ergoemacs-shell-here) + (global-set-key [remap universal-argument] + 'ergoemacs-command-loop--universal-argument) + (global-set-key [remap describe-mode] + 'ergoemacs-describe-major-mode) ) (defun ergoemacs-set-menu-bar-file () @@ -1037,7 +1091,6 @@ calling any other ergoemacs-set-* function" (ergoemacs-theme standard () "Standard Ergoemacs Theme" - :components '(ergoemacs-remaps) :optional-on '(backspace-del-seq ) ) @@ -1064,6 +1117,7 @@ calling any other ergoemacs-set-* function" (ergoemacs-set-kill-line) (ergoemacs-set-text-transform) (ergoemacs-set-select-items) + (ergoemacs-set-remaps) (ergoemacs-set-quit) (ergoemacs-set-menu-bar-help) (ergoemacs-set-menu-bar-view) @@ -1075,64 +1129,6 @@ calling any other ergoemacs-set-* function" (add-hook 'ergoemacs-mode-startup-hook #'ergoemacs-install-standard-theme) - -(defun ergoemacs-unset-keys-in-map (local-map) - "Unset all of the keys in a local map that we usually prefer to use the ergoemacs keys." - (ergoemacs-define-key local-map (kbd "M-h") nil) - (ergoemacs-define-key local-map (kbd "M-H") nil) - - (ergoemacs-define-key local-map (kbd "M-e") nil) - (ergoemacs-define-key local-map (kbd "M-r") nil) - - (ergoemacs-define-key local-map (kbd "M-u") nil) - (ergoemacs-define-key local-map (kbd "M-o") nil) - (ergoemacs-define-key local-map (kbd "M-U") nil) - (ergoemacs-define-key local-map (kbd "M-O") nil) - - (ergoemacs-define-key local-map (kbd "M-s") nil) - (ergoemacs-define-key local-map (kbd "M-S") nil) - - (ergoemacs-define-key local-map (kbd "M-d") nil) - (ergoemacs-define-key local-map (kbd "M-f") nil) - - (ergoemacs-define-key local-map (kbd "M-n") nil) - (ergoemacs-define-key local-map (kbd "M-N") nil) - (ergoemacs-define-key local-map (kbd "M-p") nil) - - (ergoemacs-define-key local-map (kbd "M-j") nil) - (ergoemacs-define-key local-map (kbd "M-l") nil) - (ergoemacs-define-key local-map (kbd "M-i") nil) - (ergoemacs-define-key local-map (kbd "M-k") nil) - - (ergoemacs-define-key local-map (kbd "M-J") nil) - (ergoemacs-define-key local-map (kbd "M-L") nil) - (ergoemacs-define-key local-map (kbd "M-I") nil) - (ergoemacs-define-key local-map (kbd "M-K") nil) - - (ergoemacs-define-key local-map (kbd "M-z") nil) - (ergoemacs-define-key local-map (kbd "M-x") nil) - (ergoemacs-define-key local-map (kbd "M-c") nil) - (ergoemacs-define-key local-map (kbd "M-v") nil) - (ergoemacs-define-key local-map (kbd "M-C") nil) - (ergoemacs-define-key local-map (kbd "M-V") nil) - - (ergoemacs-define-key local-map (kbd "M-a") nil) - (ergoemacs-define-key local-map (kbd "M-A") nil) - - (define-key local-map (kbd "C-w") nil) - (define-key local-map (kbd "C-n") nil) - (define-key local-map (kbd "C-S-w") nil) - (define-key local-map (kbd "C-S-n") nil) - - (define-key local-map (kbd "C-s") nil) - (define-key local-map (kbd "C-S-s") nil) - (define-key local-map (kbd "C-o") nil) - (define-key local-map (kbd "C-S-o") nil) - (define-key local-map (kbd "C-r") nil) - (define-key local-map (kbd "C-p") nil) - (define-key local-map (kbd "C-l") nil) -) - (defun ergoemacs-install-term-bindings () ;; For term, do not bind anything that modifies the buffer, like ;; cut, undo, and redo. The only exception is paste. Paste-cycle @@ -1262,13 +1258,40 @@ calling any other ergoemacs-set-* function" (define-key dired-mode-map (kbd "C-c C-c") 'wdired-change-to-wdired-mode) (define-key dired-mode-map (kbd "TAB") 'dired-maybe-insert-subdir) ) - (add-hook 'dired-load-hook #'ergoemacs-install-dired-bindings) (with-eval-after-load 'compile (ergoemacs-unset-keys-in-map compilation-mode-map)) (add-hook 'ibuffer-load-hook #'(ergoemacs-unset-keys-in-map ibuffer-mode-map)) +(with-eval-after-load 'message (ergoemacs-unset-keys-in-map message-mode-map)) + +(defun ergoemacs-install-magit-bindings () + (ergoemacs-unset-keys-in-map magit-mode-map) + (ergoemacs-unset-keys-in-map magit-blame-mode-map) + (ergoemacs-unset-keys-in-map magit-blame-read-only-mode-map) + (ergoemacs-unset-keys-in-map magit-blob-mode-map) + (ergoemacs-unset-keys-in-map magit-cherry-mode-map) + (ergoemacs-unset-keys-in-map magit-diff-mode-map) + (ergoemacs-unset-keys-in-map magit-file-mode-map) + (ergoemacs-unset-keys-in-map magit-log-mode-map) + (ergoemacs-unset-keys-in-map magit-log-select-mode-map) + (ergoemacs-unset-keys-in-map magit-merge-preview-mode-map) + (ergoemacs-unset-keys-in-map magit-popup-help-mode-map) + (ergoemacs-unset-keys-in-map magit-popup-mode-map) + (ergoemacs-unset-keys-in-map magit-process-mode-map) + (ergoemacs-unset-keys-in-map magit-reflog-mode-map) + (ergoemacs-unset-keys-in-map magit-refs-mode-map) + (ergoemacs-unset-keys-in-map magit-repolist-mode-map) + (ergoemacs-unset-keys-in-map magit-revision-mode-map) + (ergoemacs-unset-keys-in-map magit-section-mode-map) + (ergoemacs-unset-keys-in-map magit-stash-mode-map) + (ergoemacs-unset-keys-in-map magit-stashes-mode-map) + (ergoemacs-unset-keys-in-map magit-status-mode-map) + (ergoemacs-unset-keys-in-map magit-submodule-list-mode-map) + ) + +(add-hook 'magit-mode-hook #'ergoemacs-install-magit-bindings) (ergoemacs-translation normal () "Identify transformation"