emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ergoemacs-mode fcea163 151/325: Install an override map


From: Stefan Monnier
Subject: [elpa] externals/ergoemacs-mode fcea163 151/325: Install an override map instead of futzing with all of the modes
Date: Sat, 23 Oct 2021 18:48:42 -0400 (EDT)

branch: externals/ergoemacs-mode
commit fcea1630efa8ba321c8b6f54a2cb0c1be08e8e25
Author: Walter Landry <wlandry@caltech.edu>
Commit: Walter Landry <wlandry@caltech.edu>

    Install an override map instead of futzing with all of the modes
---
 ergoemacs-mode.el   |   2 +-
 ergoemacs-themes.el | 369 +++++++++++++++++++++-------------------------------
 2 files changed, 148 insertions(+), 223 deletions(-)

diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el
index da56d9f..1affb80 100644
--- a/ergoemacs-mode.el
+++ b/ergoemacs-mode.el
@@ -681,7 +681,7 @@ SYMBOL is the symbol to set, NEW-VALUE is it's value."
 
 (defun ergoemacs-setup-override-keymap ()
   "Setup `ergoemacs-mode' overriding keymap `ergoemacs-override-keymap'."
-  (setq ergoemacs-override-alist `((ergoemacs-mode . ,(ergoemacs 
ergoemacs-override-keymap))))
+  ;; (setq ergoemacs-override-alist `((ergoemacs-mode . ,(ergoemacs 
ergoemacs-override-keymap))))
   (add-hook 'emulation-mode-map-alists 'ergoemacs-override-alist))
 
 (defun ergoemacs-remove-override-keymap ()
diff --git a/ergoemacs-themes.el b/ergoemacs-themes.el
index 6bf37fe..bc9d958 100644
--- a/ergoemacs-themes.el
+++ b/ergoemacs-themes.el
@@ -131,6 +131,7 @@ will bind 'Meta-k' to next-line.  If your layout is 
'colemak', it will bind
         set-mark-command-repeat-pop t
         org-special-ctrl-a/e t
         scroll-error-top-bottom t
+        ergoemacs-swap-major-modes-when-clicking-major-mode-name t
         initial-scratch-message (substitute-command-keys ";; This buffer is 
for notes you don't want to save, and for Lisp evaluation.\n;; If you want to 
create a file, visit that file with \\[find-file],\n;; then enter the text in 
that file's own buffer.\n\n")
         ;; Remove tutorial and guided tour, since the keys don't apply...
         fancy-startup-text
@@ -274,21 +275,36 @@ calling any other ergoemacs-set-* function"
   )
 
 ;;; Fixed components
-(defun ergoemacs-set-standard-fixed ()
+(defun ergoemacs-set-standard-fixed (keymap)
   (global-set-key [tool-bar kill-buffer] 'ergoemacs-close-current-buffer)
-  
-  (global-set-key (kbd "C-o") 'find-file)
-  (global-set-key (kbd "C-S-o") 'ergoemacs-open-in-desktop)
 
-  (global-set-key (kbd "C-S-t") 'ergoemacs-open-last-closed)
-  (global-set-key (kbd "C-w") 'ergoemacs-close-current-buffer)
+  ;; These keys go into the override map
+  (define-key keymap (kbd "C-o") 'find-file)
+  (define-key keymap (kbd "C-w") 'ergoemacs-close-current-buffer)
 
+  (define-key keymap (kbd "C-s") 'save-buffer)
+  (define-key keymap (kbd "C-S-s") 'write-file)
+  (define-key keymap (kbd "C-p") 'pr-interface)
+
+  (define-key keymap (kbd "C-S-n") 'make-frame-command)
+  (define-key keymap (kbd "C-S-w") 'delete-frame)
+  
+  (define-key keymap (kbd "C-l") 'goto-line)
+  (define-key keymap (kbd "C-n") 'ergoemacs-new-empty-buffer)
+  (define-key keymap (kbd "C-o") 'find-file)
+  (define-key keymap (kbd "C-p") 'pr-interface)
+
+  (define-key keymap (kbd "C-+") 'text-scale-increase)
+  (define-key keymap (kbd "C-=") 'text-scale-increase)
+  (define-key keymap (kbd "C--") 'text-scale-decrease)
+  (define-key keymap (kbd "C-_") 'text-scale-decrease)
+  (define-key keymap (kbd "C-0") 'ergoemacs-text-scale-normal-size)
+  (define-key keymap (kbd "C-)") 'ergoemacs-text-scale-normal-size)
+
+  ;; These go into the global map, so they can be overridden by a
+  ;; local mode map.
   (global-set-key (kbd "C-f") 'isearch-forward)
   (define-key isearch-mode-map (kbd "C-f") 'isearch-repeat-forward)
-
-  (global-set-key (kbd "C-s") 'save-buffer)
-  (global-set-key (kbd "C-S-s") 'write-file)
-  (global-set-key (kbd "C-p") 'pr-interface)
   (global-set-key (kbd "C-a") 'mark-whole-buffer)
   (global-set-key (kbd "C-z") 'undo)
 
@@ -299,128 +315,104 @@ calling any other ergoemacs-set-* function"
   (global-set-key (kbd "<S-insert>") 'ergoemacs-paste)
   (global-set-key (kbd "C-v") 'ergoemacs-paste)
 
-  ;; Navigation
-  (global-set-key (kbd "C-S-n") 'make-frame-command)
-
-  ;; Text editing
-  
-  ;; the Del key for forward delete. Needed if C-d is set to nil.
   (global-set-key (kbd "<delete>") 'delete-char ) 
-
   (global-set-key (kbd "<home>") 'move-beginning-of-line)
   (global-set-key (kbd "<end>") 'move-end-of-line)
-  
   (global-set-key (kbd "C-SPC") 'set-mark-command)
-  
   (global-set-key (kbd "C-r") 'ergoemacs-revert-buffer)
 
-  (global-set-key (kbd "C-+") 'text-scale-increase)
-  (global-set-key (kbd "C-=") 'text-scale-increase)
-  (global-set-key (kbd "C--") 'text-scale-decrease)
-  (global-set-key (kbd "C-_") 'text-scale-decrease)
   (global-set-key (kbd "C-/") 'info)
-  (global-set-key (kbd "C-0") 'ergoemacs-text-scale-normal-size)
-  (global-set-key (kbd "C-)") 'ergoemacs-text-scale-normal-size)
   (global-set-key (kbd "C-?") 'info)
   
   (global-set-key (kbd "C-S-o") 'ergoemacs-open-in-external-app)
   (global-set-key (kbd "C-S-t") 'ergoemacs-open-last-closed)
   
-  (global-set-key (kbd "C-S-w") 'delete-frame)
-  
-  (global-set-key (kbd "C-a") 'mark-whole-buffer)
-  (global-set-key (kbd "C-l") 'goto-line)
-  (global-set-key (kbd "C-n") 'ergoemacs-new-empty-buffer)
-  (global-set-key (kbd "C-o") 'find-file)
-  (global-set-key (kbd "C-p") 'pr-interface)
-
-  (global-set-key (kbd "C-w") 'ergoemacs-close-current-buffer)
-
   (define-key isearch-mode-map (kbd "C-v") 'ergoemacs-paste)
   )
 
-(defun ergoemacs-set-help ()
+(defun ergoemacs-set-help (keymap)
   "Help changes for ergoemacs-mode"
-  (global-set-key (kbd "C-h '") 'ergoemacs-describe-current-theme)
+  (define-key keymap (kbd "C-h '") 'ergoemacs-describe-current-theme)
   )
 
-(defun ergoemacs-set-move-char ()
+(defun ergoemacs-set-move-char (keymap)
   "Movement by Characters & Set Mark"
-  (ergoemacs-global-set-key (kbd "M-j") 'backward-char)
-  (ergoemacs-global-set-key (kbd "M-l") 'forward-char)
-  (ergoemacs-global-set-key (kbd "M-i") 'previous-line)
-  (ergoemacs-global-set-key (kbd "M-k") 'next-line)
+  (ergoemacs-define-key keymap (kbd "M-j") 'backward-char)
+  (ergoemacs-define-key keymap (kbd "M-l") 'forward-char)
+  (ergoemacs-define-key keymap (kbd "M-i") 'previous-line)
+  (ergoemacs-define-key keymap (kbd "M-k") 'next-line)
 
   ;; Fix this binding.  Trying to avoid C-M-* combos.
   ;; The regular binding is 'M-s o'
-  (ergoemacs-global-set-key (kbd "C-M-:") 'occur)
-  (ergoemacs-global-set-key (kbd "C-M-;") 'isearch-occur)
+  (ergoemacs-define-key keymap (kbd "C-M-:") 'occur)
+  (ergoemacs-define-key keymap (kbd "C-M-;") 'isearch-occur)
   
-  (ergoemacs-global-set-key (kbd "M-SPC") 'set-mark-command)
+  (ergoemacs-define-key keymap (kbd "M-SPC") 'set-mark-command)
   
   ;; Delete previous/next char.
-  (ergoemacs-global-set-key (kbd "M-d") 'delete-backward-char)
-  (ergoemacs-global-set-key (kbd "M-f") 'delete-char)
+  (ergoemacs-define-key keymap (kbd "M-d") 'delete-backward-char)
+  (ergoemacs-define-key keymap (kbd "M-f") 'delete-char)
 
-  (ergoemacs-global-set-key (kbd "<M-delete>") 'kill-word)
-  (ergoemacs-global-set-key (kbd "<M-up>") 'ergoemacs-backward-block)
-  (ergoemacs-global-set-key (kbd "<M-down>") 'ergoemacs-forward-block)
+  (ergoemacs-define-key keymap (kbd "<M-delete>") 'kill-word)
+  (ergoemacs-define-key keymap (kbd "<M-up>") 'ergoemacs-backward-block)
+  (ergoemacs-define-key keymap (kbd "<M-down>") 'ergoemacs-forward-block)
   )  
 
 ;;; Variable Components
-(defun ergoemacs-set-move-word ()
+(defun ergoemacs-set-move-word (keymap)
   "Moving around and deleting words"
-  (ergoemacs-global-set-key (kbd "M-u") 'backward-word)
-  (ergoemacs-global-set-key (kbd "M-o") 'forward-word)
+  (ergoemacs-define-key keymap (kbd "M-u") 'backward-word)
+  (ergoemacs-define-key keymap (kbd "M-o") 'forward-word)
   
-  (ergoemacs-global-set-key (kbd "M-e") 'backward-kill-word)
-  (ergoemacs-global-set-key (kbd "M-r") 'kill-word)
+  (ergoemacs-define-key keymap (kbd "M-e") 'backward-kill-word)
+  (ergoemacs-define-key keymap (kbd "M-r") 'kill-word)
   )
 
-(defun ergoemacs-set-move-paragraph ()
+(defun ergoemacs-set-move-paragraph (keymap)
   "Move by Paragraph"
-  (ergoemacs-global-set-key (kbd "M-U") 'backward-paragraph)
-  (ergoemacs-global-set-key (kbd "M-O") 'forward-paragraph)
+  (ergoemacs-define-key keymap (kbd "M-U") 'backward-paragraph)
+  (ergoemacs-define-key keymap (kbd "M-O") 'forward-paragraph)
   )
 
-(defun ergoemacs-set-move-line ()
+(defun ergoemacs-set-move-line (keymap)
   "Move by Line"
-  (ergoemacs-global-set-key (kbd "M-h") 'move-beginning-of-line)
-  (ergoemacs-global-set-key (kbd "M-H") 'move-end-of-line)
+  (ergoemacs-define-key keymap (kbd "M-h") 'move-beginning-of-line)
+  (ergoemacs-define-key keymap (kbd "M-H") 'move-end-of-line)
   )
 
-(defun ergoemacs-set-move-page ()
+(defun ergoemacs-set-move-page (keymap)
   "Move by Page"
-  (ergoemacs-global-set-key (kbd "M-I") 'scroll-down-command)
-  (ergoemacs-global-set-key (kbd "M-K") 'scroll-up-command)
+  (ergoemacs-define-key keymap (kbd "M-I") 'scroll-down-command)
+  (ergoemacs-define-key keymap (kbd "M-K") 'scroll-up-command)
 )  
 
-(defun ergoemacs-set-move-buffer ()
-  (ergoemacs-global-set-key (kbd "M-n") 'ergoemacs-beginning-or-end-of-buffer)
-  (ergoemacs-global-set-key (kbd "M-N") 'ergoemacs-end-or-beginning-of-buffer)
+(defun ergoemacs-set-move-buffer (keymap)
+  (ergoemacs-define-key keymap (kbd "M-n") 
'ergoemacs-beginning-or-end-of-buffer)
+  (ergoemacs-define-key keymap (kbd "M-N") 
'ergoemacs-end-or-beginning-of-buffer)
 )  
 
-(defun ergoemacs-set-move-bracket ()
+(defun ergoemacs-set-move-bracket (keymap)
   "Move By Bracket"
-  (ergoemacs-global-set-key (kbd "M-J") 'ergoemacs-backward-open-bracket)
-  (ergoemacs-global-set-key (kbd "M-L") 'ergoemacs-forward-close-bracket)
-  (ergoemacs-global-set-key (kbd "<M-left>") 'ergoemacs-backward-open-bracket)
-  (ergoemacs-global-set-key (kbd "<M-right>") 'ergoemacs-forward-close-bracket)
+  (ergoemacs-define-key keymap (kbd "M-J") 'ergoemacs-backward-open-bracket)
+  (ergoemacs-define-key keymap (kbd "M-L") 'ergoemacs-forward-close-bracket)
+  (ergoemacs-define-key keymap (kbd "<M-left>") 
'ergoemacs-backward-open-bracket)
+  (ergoemacs-define-key keymap (kbd "<M-right>") 
'ergoemacs-forward-close-bracket)
   )
 
-(defun ergoemacs-set-copy ()
+(defun ergoemacs-set-copy (keymap)
   "Copy, Cut, Paste, Redo and Undo"
-  (ergoemacs-global-set-key (kbd "M-x") 'ergoemacs-cut-line-or-region)
-  (ergoemacs-global-set-key (kbd "M-c") 'ergoemacs-copy-line-or-region)
-  (ergoemacs-global-set-key (kbd "M-v") 'ergoemacs-paste)
-  (ergoemacs-global-set-key (kbd "M-V") 'ergoemacs-paste-cycle)
+  (ergoemacs-define-key keymap (kbd "M-x") 'ergoemacs-cut-line-or-region)
+  (ergoemacs-define-key keymap (kbd "M-c") 'ergoemacs-copy-line-or-region)
+  ;; FIXME: enable term-paste for term-mode
+  (ergoemacs-define-key keymap (kbd "M-v") 'ergoemacs-paste)
+  (ergoemacs-define-key keymap (kbd "M-V") 'ergoemacs-paste-cycle)
   
-  (ergoemacs-global-set-key (kbd "M-C") 'ergoemacs-copy-all)
-  (ergoemacs-global-set-key (kbd "M-X") 'ergoemacs-cut-all)
+  (ergoemacs-define-key keymap (kbd "M-C") 'ergoemacs-copy-all)
+  (ergoemacs-define-key keymap (kbd "M-X") 'ergoemacs-cut-all)
 
   ;; Undo
-  (ergoemacs-global-set-key (kbd "M-z") 'undo)
-  (ergoemacs-global-set-key (kbd "C-S-x") 'execute-extended-command)
+  (ergoemacs-define-key keymap (kbd "M-z") 'undo)
+  (ergoemacs-define-key keymap (kbd "C-S-x") 'execute-extended-command)
   (global-set-key (kbd "C-z") 'undo)
 
   ;; Mode specific changes
@@ -430,86 +422,86 @@ calling any other ergoemacs-set-* function"
   (define-key isearch-mode-map (kbd "C-v") 'ergoemacs-paste)
   )  
 
-(defun ergoemacs-set-search ()
+(defun ergoemacs-set-search (keymap)
   "Search and Replace"
-  (ergoemacs-global-set-key (kbd "M-5") 'query-replace)
-  (ergoemacs-global-set-key (kbd "M-%") 'query-replace-regexp)
-  (ergoemacs-global-set-key (kbd "M-;") 'isearch-forward)
+  (ergoemacs-define-key keymap (kbd "M-5") 'query-replace)
+  (ergoemacs-define-key keymap (kbd "M-%") 'query-replace-regexp)
+  (ergoemacs-define-key keymap (kbd "M-;") 'isearch-forward)
   (ergoemacs-define-key isearch-mode-map (kbd "M-;") 'isearch-repeat-forward)
-  (ergoemacs-global-set-key (kbd "M-:") 'isearch-backward)
+  (ergoemacs-define-key keymap (kbd "M-:") 'isearch-backward)
   (ergoemacs-define-key isearch-mode-map (kbd "M-:") 'isearch-repeat-backward)
   )
 
-(defun ergoemacs-set-switch ()
+(defun ergoemacs-set-switch (keymap)
   "Window/Frame/Tab Switching"
-  (ergoemacs-global-set-key (kbd "M-s") 'ergoemacs-move-cursor-next-pane)
-  (ergoemacs-global-set-key (kbd "M-S") 'ergoemacs-move-cursor-previous-pane)
+  (ergoemacs-define-key keymap (kbd "M-s") 'ergoemacs-move-cursor-next-pane)
+  (ergoemacs-define-key keymap (kbd "M-S") 
'ergoemacs-move-cursor-previous-pane)
   
-  (ergoemacs-global-set-key (kbd "M-~") 'ergoemacs-switch-to-previous-frame)
-  (ergoemacs-global-set-key (kbd "M-`") 'ergoemacs-switch-to-next-frame)
+  (ergoemacs-define-key keymap (kbd "M-~") 'ergoemacs-switch-to-previous-frame)
+  (ergoemacs-define-key keymap (kbd "M-`") 'ergoemacs-switch-to-next-frame)
 
-  (ergoemacs-global-set-key (kbd "M-3") 'delete-other-windows)
-  (ergoemacs-global-set-key (kbd "M-#") 'delete-other-windows)
+  (ergoemacs-define-key keymap (kbd "M-3") 'delete-other-windows)
+  (ergoemacs-define-key keymap (kbd "M-#") 'delete-other-windows)
   
-  (ergoemacs-global-set-key (kbd "M-2") 'delete-window)
-  (ergoemacs-global-set-key (kbd "M-@") 'delete-window)
+  (ergoemacs-define-key keymap (kbd "M-2") 'delete-window)
+  (ergoemacs-define-key keymap (kbd "M-@") 'delete-window)
   
-  (ergoemacs-global-set-key (kbd "M-4") 'split-window-below)
-  
-  (ergoemacs-global-set-key (kbd "M-$") 'split-window-right)
+  (ergoemacs-define-key keymap (kbd "M-4") 'split-window-below)
+  (ergoemacs-define-key keymap (kbd "M-$") 'split-window-right)
 
-  (ergoemacs-global-set-key (kbd "M-0") 'delete-window)
-  (ergoemacs-global-set-key (kbd "M-)") 'delete-window)
+  (ergoemacs-define-key keymap (kbd "M-0") 'delete-window)
+  (ergoemacs-define-key keymap (kbd "M-)") 'delete-window)
   )
 
-(defun ergoemacs-set-execute ()
+(defun ergoemacs-set-execute (keymap)
   "Execute Commands"
-  (ergoemacs-global-set-key (kbd "M-a") 'execute-extended-command)
-  (ergoemacs-global-set-key (kbd "M-A") 'shell-command)
+  (ergoemacs-define-key keymap (kbd "M-a") 'execute-extended-command)
+  (ergoemacs-define-key keymap (kbd "M-A") 'shell-command)
   )
 
-(defun ergoemacs-set-misc ()
+(defun ergoemacs-set-misc (keymap)
   "Misc Commands"
-  (ergoemacs-global-set-key (kbd "M-p") 'recenter-top-bottom)
-  (ergoemacs-global-set-key (kbd "M-B") 'ibuffer)
-  (ergoemacs-global-set-key (kbd "M-b") 'switch-to-buffer)
+  (ergoemacs-define-key keymap (kbd "M-p") 'recenter-top-bottom)
+  (ergoemacs-define-key keymap (kbd "M-B") 'ibuffer)
+  (ergoemacs-define-key keymap (kbd "M-b") 'switch-to-buffer)
   )
 
-(defun ergoemacs-set-kill-line ()
+(defun ergoemacs-set-kill-line (keymap)
   "Kill Line"
-  (ergoemacs-global-set-key (kbd "M-g") 'kill-line)
-  (ergoemacs-global-set-key (kbd "M-G") 'ergoemacs-kill-line-backward))
+  (ergoemacs-define-key keymap (kbd "M-g") 'kill-line)
+  (ergoemacs-define-key keymap (kbd "M-G") 'ergoemacs-kill-line-backward))
 
-(defun ergoemacs-set-text-transform ()
+(defun ergoemacs-set-text-transform (keymap)
   "Text Transformation"
-  (ergoemacs-global-set-key (kbd "M-'") 'comment-dwim)
-  (ergoemacs-global-set-key (kbd "M-\"") 'delete-horizontal-space)
+  (ergoemacs-define-key keymap (kbd "M-'") 'comment-dwim)
+  (ergoemacs-define-key keymap (kbd "M-\"") 'delete-horizontal-space)
   
-  (ergoemacs-global-set-key (kbd "M-w") 'ergoemacs-shrink-whitespaces)
+  (ergoemacs-define-key keymap (kbd "M-w") 'ergoemacs-shrink-whitespaces)
 
-  (ergoemacs-global-set-key (kbd "M-?") 'ergoemacs-toggle-camel-case)
-  (ergoemacs-global-set-key (kbd "M-/") 'ergoemacs-toggle-letter-case)
+  (ergoemacs-define-key keymap (kbd "M-?") 'ergoemacs-toggle-camel-case)
+  (ergoemacs-define-key keymap (kbd "M-/") 'ergoemacs-toggle-letter-case)
 
-  ;; ;; keyword completion, because Alt+Tab is used by OS
-  (ergoemacs-global-set-key (kbd "M-t") 'ergoemacs-call-keyword-completion)
-  (ergoemacs-global-set-key (kbd "M-T") 'flyspell-auto-correct-word)
+  ;; keyword completion, because Alt+Tab is used by OS
+  (ergoemacs-define-key keymap (kbd "M-t") 'ergoemacs-call-keyword-completion)
+  (ergoemacs-define-key keymap (kbd "M-T") 'flyspell-auto-correct-word)
 
-  ;; ;; Hard-wrap/un-hard-wrap paragraph
-  (ergoemacs-global-set-key (kbd "M-q") 'ergoemacs-compact-uncompact-block)
+  ;; Hard-wrap/un-hard-wrap paragraph
+  (ergoemacs-define-key keymap (kbd "M-q") 'ergoemacs-compact-uncompact-block)
 
+  ;; Why does this work?
   (ergoemacs-define-key isearch-mode-map (kbd "M-?") 'isearch-toggle-regexp)
   (ergoemacs-define-key isearch-mode-map (kbd "M-/") 'isearch-toggle-case-fold)
   )
 
-(defun ergoemacs-set-select-items ()
+(defun ergoemacs-set-select-items (keymap)
   "Select Items"
-  (ergoemacs-global-set-key (kbd "M-S-SPC") 'mark-paragraph)
-  (ergoemacs-global-set-key (kbd "M-8") 'ergoemacs-extend-selection)
-  (ergoemacs-global-set-key (kbd "M-*") 'ergoemacs-select-text-in-quote)
-  (ergoemacs-global-set-key (kbd "M-6") 'ergoemacs-select-current-block)
-  (ergoemacs-global-set-key (kbd "M-^") 'ergoemacs-select-current-block)
-  (ergoemacs-global-set-key (kbd "M-7") 'ergoemacs-select-current-line)
-  (ergoemacs-global-set-key (kbd "M-&") 'ergoemacs-select-current-line)
+  (ergoemacs-define-key keymap (kbd "M-S-SPC") 'mark-paragraph)
+  (ergoemacs-define-key keymap (kbd "M-8") 'ergoemacs-extend-selection)
+  (ergoemacs-define-key keymap (kbd "M-*") 'ergoemacs-select-text-in-quote)
+  (ergoemacs-define-key keymap (kbd "M-6") 'ergoemacs-select-current-block)
+  (ergoemacs-define-key keymap (kbd "M-^") 'ergoemacs-select-current-block)
+  (ergoemacs-define-key keymap (kbd "M-7") 'ergoemacs-select-current-line)
+  (ergoemacs-define-key keymap (kbd "M-&") 'ergoemacs-select-current-line)
   )
 
 (defun ergoemacs-set-quit ()
@@ -1048,36 +1040,39 @@ calling any other ergoemacs-set-* function"
                                    describe-copying)
                           ,(if (eq system-type 'darwin) "Help" "?")))))
 
-(defun ergoemacs-set-mode-line-major-mode-switch ()
-  "Switch major modes by clicking mode-name."
-  (setq ergoemacs-swap-major-modes-when-clicking-major-mode-name t))
-
 (ergoemacs-theme standard ()
   "Standard Ergoemacs Theme"
   )
 
+(defvar ergoemacs-override-alist)
+
 (defun ergoemacs-install-standard-theme ()
   (ergoemacs-unset-keys)
   (ergoemacs-set-standard-vars)
-  (ergoemacs-set-standard-fixed)
-  (ergoemacs-set-help)
-  (ergoemacs-set-move-char)
-  (ergoemacs-set-move-buffer)
-  (ergoemacs-set-move-bracket)
-  (ergoemacs-set-move-word)
-  (ergoemacs-set-move-paragraph)
-  (ergoemacs-set-move-line)
-  (ergoemacs-set-move-page)
-  (ergoemacs-set-move-buffer)
-  (ergoemacs-set-move-bracket)
-  (ergoemacs-set-copy)
-  (ergoemacs-set-search)
-  (ergoemacs-set-switch)
-  (ergoemacs-set-execute)
-  (ergoemacs-set-misc)
-  (ergoemacs-set-kill-line)
-  (ergoemacs-set-text-transform)
-  (ergoemacs-set-select-items)
+
+  (let ((override-keymap (make-sparse-keymap)))
+    (ergoemacs-set-standard-fixed override-keymap)
+    (ergoemacs-set-help override-keymap)
+    (ergoemacs-set-move-char override-keymap)
+    (ergoemacs-set-move-buffer override-keymap)
+    (ergoemacs-set-move-bracket override-keymap)
+    (ergoemacs-set-move-word override-keymap)
+    (ergoemacs-set-move-paragraph override-keymap)
+    (ergoemacs-set-move-line override-keymap)
+    (ergoemacs-set-move-page override-keymap)
+    (ergoemacs-set-move-buffer override-keymap)
+    (ergoemacs-set-move-bracket override-keymap)
+    (ergoemacs-set-copy override-keymap)
+    (ergoemacs-set-search override-keymap)
+    (ergoemacs-set-switch override-keymap)
+    (ergoemacs-set-execute override-keymap)
+    (ergoemacs-set-misc override-keymap)
+    (ergoemacs-set-kill-line override-keymap)
+    (ergoemacs-set-text-transform override-keymap)
+    (ergoemacs-set-select-items override-keymap)
+    (setq ergoemacs-override-alist `((ergoemacs-mode . ,override-keymap)))
+    )
+  
   (ergoemacs-set-remaps)
   (ergoemacs-set-quit)
   (ergoemacs-set-menu-bar-help)
@@ -1085,80 +1080,10 @@ calling any other ergoemacs-set-* function"
   (ergoemacs-set-menu-bar-search)
   (ergoemacs-set-menu-bar-edit)
   (ergoemacs-set-menu-bar-file)
-  (ergoemacs-set-mode-line-major-mode-switch)
   )
 
 (add-hook 'ergoemacs-mode-startup-hook #'ergoemacs-install-standard-theme)
 
-(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
-  ;; is not bound, because it would require deleting and inserting
-  ;; text.
-  ;;
-  ;; Also, do not bind any special keys like <insert> or <prior>.
-  ;; They get passed into term.
-  (define-key term-raw-map (kbd "C-o") 'find-file)
-  (define-key term-raw-map (kbd "C-S-t") 'ergoemacs-open-last-closed)
-  (define-key term-raw-map (kbd "C-w") 'ergoemacs-close-current-buffer)
-  (define-key term-raw-map (kbd "C-a") 'mark-whole-buffer)
-  (define-key term-raw-map (kbd "C-S-n") 'make-frame-command)
-  (define-key term-raw-map (kbd "C-+") 'text-scale-increase)
-  (define-key term-raw-map (kbd "C--") 'text-scale-decrease)
-  (define-key term-raw-map (kbd "C-.") 'keyboard-quit)
-  (define-key term-raw-map (kbd "C-/") 'info)
-  (define-key term-raw-map (kbd "C-0") 'ergoemacs-text-scale-normal-size)
-  (define-key term-raw-map (kbd "C-=") 'text-scale-increase)
-  (define-key term-raw-map (kbd "C-S-o") 'ergoemacs-open-in-external-app)
-  (define-key term-raw-map (kbd "C-S-s") 'write-file)
-  (define-key term-raw-map (kbd "C-S-w") 'delete-frame)
-  (define-key term-raw-map (kbd "C-`") 'other-frame)
-  (define-key term-raw-map (kbd "C-n") 'ergoemacs-new-empty-buffer)
-  (define-key term-raw-map (kbd "C-p") 'pr-interface)
-  
-  (ergoemacs-define-key term-raw-map (kbd "M-j") 'backward-char)
-  (ergoemacs-define-key term-raw-map (kbd "M-l") 'forward-char)
-  (ergoemacs-define-key term-raw-map (kbd "M-i") 'previous-line)
-  (ergoemacs-define-key term-raw-map (kbd "M-k") 'next-line)
-  (ergoemacs-define-key term-raw-map (kbd "M-SPC") 'set-mark-command)
-  
-  (ergoemacs-define-key term-raw-map (kbd "M-u") 'backward-word)
-  (ergoemacs-define-key term-raw-map (kbd "M-o") 'forward-word)
-
-  (ergoemacs-define-key term-raw-map (kbd "M-U") 'backward-paragraph)
-  (ergoemacs-define-key term-raw-map (kbd "M-O") 'forward-paragraph)
-
-  (ergoemacs-define-key term-raw-map (kbd "M-h") 'move-beginning-of-line)
-  (ergoemacs-define-key term-raw-map (kbd "M-H") 'move-end-of-line)
-
-  (ergoemacs-define-key term-raw-map (kbd "M-I") 'scroll-down)
-  (ergoemacs-define-key term-raw-map (kbd "M-K") 'scroll-up)
-
-  (ergoemacs-define-key term-raw-map (kbd "M-n") 
'ergoemacs-beginning-or-end-of-buffer)
-  (ergoemacs-define-key term-raw-map (kbd "M-N") 
'ergoemacs-end-or-beginning-of-buffer)
-
-  (ergoemacs-define-key term-raw-map (kbd "M-J") 
'ergoemacs-backward-open-bracket)
-  (ergoemacs-define-key term-raw-map (kbd "M-L") 
'ergoemacs-forward-close-bracket)
-  
-  (ergoemacs-define-key term-raw-map (kbd "M-c") 
'ergoemacs-copy-line-or-region)
-  (ergoemacs-define-key term-raw-map (kbd "M-v") 'term-paste)
-  (ergoemacs-define-key term-raw-map (kbd "M-C") 'ergoemacs-copy-all)
-
-  (ergoemacs-define-key term-raw-map (kbd "M-;") 'isearch-forward)
-  (ergoemacs-define-key term-raw-map (kbd "M-:") 'isearch-backward)
-
-  (ergoemacs-define-key term-raw-map (kbd "M-s") 
'ergoemacs-move-cursor-next-pane)
-  (ergoemacs-define-key term-raw-map (kbd "M-S") 
'ergoemacs-move-cursor-previous-pane)
-  (ergoemacs-define-key term-raw-map (kbd "M-~") 
'ergoemacs-switch-to-previous-frame)
-  (ergoemacs-define-key term-raw-map (kbd "M-`") 
'ergoemacs-switch-to-next-frame)
-  (ergoemacs-define-key term-raw-map (kbd "M-3") 'delete-other-windows)
-  (ergoemacs-define-key term-raw-map (kbd "M-2") 'delete-window)
-  (ergoemacs-define-key term-raw-map (kbd "M-4") '(split-window-below 
split-window-horizontally))
-  (ergoemacs-define-key term-raw-map (kbd "M-$") '(split-window-right 
split-window-vertically))
-  )
-
-(add-hook 'term-load-hook #'ergoemacs-install-term-bindings)
-
 (defun ergoemacs-install-org-bindings ()
   (ergoemacs-unset-keys-in-map org-mode-map)
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]