[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ergoemacs-mode f28dc66 255/325: Add some active keymaps
From: |
Stefan Monnier |
Subject: |
[elpa] externals/ergoemacs-mode f28dc66 255/325: Add some active keymaps to ergoemacs-mode (like before) |
Date: |
Sat, 23 Oct 2021 18:49:05 -0400 (EDT) |
branch: externals/ergoemacs-mode
commit f28dc668d2ff6911202504389ddb6e7b51abf445
Author: Matthew Fidler <514778+mattfidler@users.noreply.github.com>
Commit: Matthew Fidler <514778+mattfidler@users.noreply.github.com>
Add some active keymaps to ergoemacs-mode (like before)
---
ergoemacs-advice.el | 14 ++---
ergoemacs-mode.el | 23 +++++--
ergoemacs-themes.el | 170 ++++++++++++++++++++++++++--------------------------
3 files changed, 112 insertions(+), 95 deletions(-)
diff --git a/ergoemacs-advice.el b/ergoemacs-advice.el
index 6e4f20f..88f73cd 100644
--- a/ergoemacs-advice.el
+++ b/ergoemacs-advice.el
@@ -158,13 +158,13 @@ TYPE is the type of translation installed."
(when (memq 'down (event-modifiers last-command-event))
current-prefix-arg)))))
-;; (ergoemacs-advice undefined ()
-;; "Allow `ergoemacs-mode' to display keys, and intercept ending <apps>
keys."
-;; :type :around
-;; (if (not ergoemacs-mode)
-;; ad-do-it
-;; (ergoemacs-mode--undefined-advice)))
-
+(ergoemacs-advice undefined ()
+ "Allow `ergoemacs-mode' to display keys, and intercept ending <apps> keys."
+ :type :around
+ (if (not ergoemacs-mode)
+ ad-do-it
+ (ergoemacs-mode--undefined-advice)))
+
(ergoemacs-advice handle-shift-selection ()
"Allow `ergoemacs-mode' to do shift selection on keys like Alt+# to Alt+3."
:type :before
diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el
index 86dc6e6..fb85ce3 100644
--- a/ergoemacs-mode.el
+++ b/ergoemacs-mode.el
@@ -135,7 +135,7 @@ Added beginning-of-buffer Alt+n (QWERTY notation) and
end-of-buffer Alt+Shift+n"
;;; ergoemacs-keymap
(defvar ergoemacs-keymap (make-sparse-keymap)
- "ErgoEmacs minor mode keymap. This replaces `global-map'.")
+ "ErgoEmacs minor mode keymap.")
(defvar ergoemacs-translate--parent-map (make-sparse-keymap)
"Parent keymap for sparse translation")
@@ -717,11 +717,26 @@ after initializing ergoemacs-mode.
(defvar ergoemacs-override-alist nil
"ErgoEmacs override keymaps.")
+(defvar ergoemacs-mode-mark-active-keymap
+ (let ((map (make-sparse-keymap)))
+ (define-key map (kbd "TAB") 'indent-region))
+ "ergoemacs mark active keymap.")
+
+(defvar ergoemacs-undo-tree-remap-keymap
+ (let ((map (make-sparse-keymap)))
+ (define-key map [remap ergoemacs-redo] 'undo-tree-redo)
+ (define-key map [remap undo] 'undo-tree-undo))
+ "ergoemacs undo-tree remap keymaps")
+
+
(defun ergoemacs-setup-override-keymap ()
"Setup `ergoemacs-mode' overriding keymap `ergoemacs-override-keymap'."
- (setq ergoemacs-override-alist `((ergoemacs-mode .
,ergoemacs-override-keymap)))
- (add-hook 'emulation-mode-map-alists ergoemacs-override-alist)
- )
+ (setq ergoemacs-override-alist `((mark-active .
,ergoemacs-mode-mark-active-keymap)
+ (undo-tree-mode .
,ergoemacs-undo-tree-remap-keymap)
+ (ergoemacs-mode . ,ergoemacs-user-keymap)
+ (ergoemacs-mode .
,ergoemacs-override-keymap)
+ (ergoemacs-mode . ,ergoemacs-keymap)))
+ (add-hook 'emulation-mode-map-alists ergoemacs-override-alist))
(defun ergoemacs-remove-override-keymap ()
"Remove `ergoemacs-mode' overriding keymap `ergoemacs-override-keymap'."
diff --git a/ergoemacs-themes.el b/ergoemacs-themes.el
index a046a76..ea6df93 100644
--- a/ergoemacs-themes.el
+++ b/ergoemacs-themes.el
@@ -271,55 +271,55 @@ by the emulation map."
(add-hook 'eshell-post-command-hook
'ergoemacs-shell-here-directory-change-hook)
(delete-selection-mode 1))
-(defun ergoemacs-unset-keys ()
+(defun ergoemacs-unset-keys (keymap)
"Unset all of the standard keys at once.
Call this before calling any other ergoemacs-set-* function"
- (global-set-key (kbd "C-x C-f") nil)
- (global-set-key (kbd "C-x C-s") nil)
- (global-set-key (kbd "C-x C-w") nil)
- (global-set-key (kbd "C-x h") nil)
- (global-set-key (kbd "C-x k") nil)
- (global-set-key (kbd "C-b") nil)
- (global-set-key (kbd "C-p") nil)
- (global-set-key (kbd "C-n") nil)
- (global-set-key (kbd "C-d") nil)
- (global-set-key (kbd "M-b") nil)
- (global-set-key (kbd "M-f") nil)
- (global-set-key (kbd "M-d") nil)
-
- (global-set-key (kbd "C-w") nil)
- (global-set-key (kbd "M-w") nil)
- (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)
-
- (global-set-key (kbd "C-s") nil)
- (global-set-key (kbd "C-r") nil)
- (global-set-key (kbd "M-%") nil)
- (global-unset-key (kbd "M-{"))
- (global-unset-key (kbd "M-}"))
- (global-unset-key (kbd "C-a"))
- (global-unset-key (kbd "C-e"))
-
- (global-unset-key (kbd "M-v"))
- (global-unset-key (kbd "C-v"))
-
- (global-unset-key (kbd "M->"))
- (global-unset-key (kbd "M-<"))
-
- (global-unset-key (kbd "C-x 1"))
- (global-unset-key (kbd "C-x 0"))
- (global-unset-key (kbd "C-x 3"))
- (global-unset-key (kbd "C-x 2"))
-
- (global-unset-key (kbd "M-x"))
- (global-unset-key (kbd "M-!"))
- (global-unset-key (kbd "C-l"))
- (global-unset-key (kbd "C-k"))
- (global-unset-key (kbd "M-;"))
- )
+ (define-key keymap (kbd "C-x C-f") nil)
+ (define-key keymap (kbd "C-x C-s") nil)
+ (define-key keymap (kbd "C-x C-w") nil)
+ (define-key keymap (kbd "C-x h") nil)
+ (define-key keymap (kbd "C-x k") nil)
+ (define-key keymap (kbd "C-b") nil)
+ (define-key keymap (kbd "C-p") nil)
+ (define-key keymap (kbd "C-n") nil)
+ (define-key keymap (kbd "C-d") nil)
+ (define-key keymap (kbd "M-b") nil)
+ (define-key keymap (kbd "M-f") nil)
+ (define-key keymap (kbd "M-d") nil)
+
+ (define-key keymap (kbd "C-w") nil)
+ (define-key keymap (kbd "M-w") nil)
+ (define-key keymap (kbd "C-y") nil)
+ (define-key keymap (kbd "M-y") nil)
+ (define-key keymap (kbd "C-_") nil)
+ (define-key keymap (kbd "C-/") nil)
+ (define-key keymap (kbd "C-x u") nil)
+
+ (define-key keymap (kbd "C-s") nil)
+ (define-key keymap (kbd "C-r") nil)
+ (define-key keymap (kbd "M-%") nil)
+
+ (define-key keymap (kbd "M-{") 'undefined)
+ (define-key keymap (kbd "M-}") 'undefined)
+ (define-key keymap (kbd "C-a") 'undefined)
+ (define-key keymap (kbd "C-e") 'undefined)
+
+ (define-key keymap (kbd "M-v") 'undefined)
+ (define-key keymap (kbd "C-v") 'undefined)
+
+ (define-key keymap (kbd "M->") 'undefined)
+ (define-key keymap (kbd "M-<") 'undefined)
+
+ (define-key keymap (kbd "C-x 1") 'undefined)
+ (define-key keymap (kbd "C-x 0") 'undefined)
+ (define-key keymap (kbd "C-x 3") 'undefined)
+ (define-key keymap (kbd "C-x 2") 'undefined)
+
+ (define-key keymap (kbd "M-x") 'undefined)
+ (define-key keymap (kbd "M-!") 'undefined)
+ (define-key keymap (kbd "C-l") 'undefined)
+ (define-key keymap (kbd "C-k") 'undefined)
+ (define-key keymap (kbd "M-;") 'undefined))
;;; Fixed components
(defun ergoemacs-set-standard-fixed (keymap)
@@ -353,30 +353,31 @@ These keys do not depend on the layout."
;; These go into the global map, so they can be overridden by a
;; local mode map.
- (global-set-key (kbd "C-f") 'isearch-forward)
- (global-set-key (kbd "C-a") 'mark-whole-buffer)
- (global-set-key (kbd "C-z") 'ergoemacs-undo)
+ (define-key keymap (kbd "C-f") 'isearch-forward)
+ (define-key keymap (kbd "C-a") 'mark-whole-buffer)
+ (define-key keymap (kbd "C-z") 'ergoemacs-undo)
+ (define-key keymap (kbd "C-S-z") 'ergoemacs-redo)
+ (define-key keymap (kbd "C-y") 'ergoemacs-redo)
- (global-set-key (kbd "<S-delete>") 'ergoemacs-cut-line-or-region)
- (global-set-key (kbd "<C-insert>") 'ergoemacs-copy-line-or-region)
- (global-set-key (kbd "C-S-v") 'ergoemacs-paste-cycle)
- (global-set-key (kbd "<S-insert>") 'ergoemacs-paste)
- (global-set-key (kbd "C-v") 'ergoemacs-paste)
+ (define-key keymap (kbd "<S-delete>") 'ergoemacs-cut-line-or-region)
+ (define-key keymap (kbd "<C-insert>") 'ergoemacs-copy-line-or-region)
+ (define-key keymap (kbd "C-S-v") 'ergoemacs-paste-cycle)
- (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)
+ (define-key keymap (kbd "<S-insert>") 'ergoemacs-paste)
+ (define-key keymap (kbd "C-v") 'ergoemacs-paste)
- (global-set-key (kbd "C-/") 'info)
- (global-set-key (kbd "C-?") 'info)
+ (define-key keymap (kbd "<delete>") 'delete-char)
+ (define-key keymap (kbd "<home>") 'move-beginning-of-line)
+ (define-key keymap (kbd "<end>") 'move-end-of-line)
+ (define-key keymap (kbd "C-SPC") 'set-mark-command)
+ (define-key keymap (kbd "C-r") 'ergoemacs-revert-buffer)
- (global-set-key (kbd "C-S-o") 'ergoemacs-open-in-external-app)
- (global-set-key (kbd "C-S-t") 'ergoemacs-open-last-closed)
+ (define-key keymap (kbd "C-/") 'info)
+ (define-key keymap (kbd "C-?") 'info)
- )
+ (define-key keymap (kbd "C-S-o") 'ergoemacs-open-in-external-app)
+ (define-key keymap (kbd "C-S-t") 'ergoemacs-open-last-closed))
(defun ergoemacs-set-help (keymap)
"Help change for ergoemacs-mode for KEYMAP."
@@ -401,13 +402,13 @@ These keys do not depend on the layout."
(ergoemacs-define-key keymap (kbd "M-f") 'delete-char)
(ergoemacs-define-key keymap (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-up>") 'ergoemacs-backward-block)
+ (ergoemacs-define-key keymap (kbd "<M-down>") 'ergoemacs-forward-block))
(defun ergoemacs-set-move-extra-reduction (keymap)
"Extra reduction keys with KEYMAP."
- (global-set-key (kbd "M-.") 'ergoemacs-end-of-line-or-what)
- (global-set-key (kbd "M-m") 'ergoemacs-beginning-of-line-or-what))
+ (define-key keymap (kbd "M-.") 'ergoemacs-end-of-line-or-what)
+ (define-key keymap (kbd "M-m") 'ergoemacs-beginning-of-line-or-what))
;;; Variable Components
@@ -443,8 +444,8 @@ These keys do not depend on the layout."
"Move By Bracket for KEYMAP."
(ergoemacs-define-key keymap (kbd "M-J") 'ergoemacs-backward-open-bracket)
(ergoemacs-define-key keymap (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-left>")
'ergoemacs-backward-open-bracket)
+ (ergoemacs-define-key keymap (kbd "<M-right>")
'ergoemacs-forward-close-bracket))
(defun ergoemacs-set-move-bracket-reduction (keymap)
"Move bracket in the reduction theme for KEYMAP."
@@ -463,6 +464,7 @@ These keys do not depend on the layout."
;; Undo
(ergoemacs-define-key keymap (kbd "M-z") 'ergoemacs-undo)
+ (ergoemacs-define-key keymap (kbd "M-S-z") 'ergoemacs-redo)
(put 'ergoemacs-undo
:advertised-binding (ergoemacs-translate--event-layout
(vconcat (listify-key-sequence (kbd "M-z")))))
@@ -725,15 +727,15 @@ These keys do not depend on the layout."
"Escape exits."
(ergoemacs-global-set-key (kbd "<escape>") 'ergoemacs-keyboard-quit))
-(defun ergoemacs-set-remaps ()
- "Remaps for `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 describe-mode]
+(defun ergoemacs-set-remaps (keymap)
+ "Remaps for `ergoemacs-mode' for KEYMAP."
+ (define-key keymap [remap eshell] 'ergoemacs-eshell-here)
+ (define-key keymap [remap powershell] 'ergoemacs-powershell-here)
+ (define-key keymap [remap shell] 'ergoemacs-shell-here)
+ (define-key keymap [remap describe-mode]
'ergoemacs-describe-major-mode)
- (global-set-key [remap cua-paste] 'ergoemacs-paste)
- (global-set-key [remap cua-cut-region] 'ergoemacs-cut-line-or-region))
+ (define-key keymap [remap cua-paste] 'ergoemacs-paste)
+ (define-key keymap [remap cua-cut-region] 'ergoemacs-cut-line-or-region))
(defun ergoemacs-set-menu-bar-file ()
"File menu."
@@ -1300,7 +1302,7 @@ In a terminal, this can be either arrow keys (e.g. meta+O
A == <up>) or regular
(ergoemacs-unset-keys-in-map 'isearch-mode-map)
(define-key isearch-mode-map (kbd "C-x C-q") 'isearch-edit-string)
(define-key isearch-mode-map (kbd "<f2>") 'isearch-edit-string)
- ;; Mode specific changes
+ ;; Mode specific changes
;; (ergoemacs-define-key isearch-mode-map (kbd "M-d") 'isearch-delete-char)
;; (ergoemacs-define-key isearch-mode-map (kbd "M-c")
'isearch-yank-word-or-char)
@@ -1346,7 +1348,7 @@ In a terminal, this can be either arrow keys (e.g. meta+O
A == <up>) or regular
(defun ergoemacs-install-reduction-theme ()
"Install reduction theme."
- (ergoemacs-unset-keys)
+ (ergoemacs-unset-keys ergoemacs-override-keymap)
(ergoemacs-set-standard-vars)
(ergoemacs-set-standard-fixed ergoemacs-override-keymap)
@@ -1374,7 +1376,7 @@ In a terminal, this can be either arrow keys (e.g. meta+O
A == <up>) or regular
(ergoemacs-install-isearch-mode)
- (ergoemacs-set-remaps)
+ (ergoemacs-set-remaps ergoemacs-override-keymap)
(ergoemacs-set-quit)
(ergoemacs-set-menu-bar-help)
(ergoemacs-set-menu-bar-view)
@@ -1384,7 +1386,7 @@ In a terminal, this can be either arrow keys (e.g. meta+O
A == <up>) or regular
(defun ergoemacs-install-standard-theme ()
"Install standard ergoemacs-mode theme."
- (ergoemacs-unset-keys)
+ (ergoemacs-unset-keys ergoemacs-override-keymap)
(ergoemacs-set-standard-vars)
(ergoemacs-set-standard-fixed ergoemacs-override-keymap)
@@ -1408,7 +1410,7 @@ In a terminal, this can be either arrow keys (e.g. meta+O
A == <up>) or regular
(ergoemacs-set-select-items ergoemacs-override-keymap)
(ergoemacs-fix-arrow-keys ergoemacs-override-keymap)
(ergoemacs-install-isearch-mode)
- (ergoemacs-set-remaps)
+ (ergoemacs-set-remaps ergoemacs-override-keymap)
(ergoemacs-set-quit)
(ergoemacs-set-menu-bar-help)
(ergoemacs-set-menu-bar-view)
- [elpa] externals/ergoemacs-mode 349d05a 300/325: Remove describe theme, (continued)
- [elpa] externals/ergoemacs-mode 349d05a 300/325: Remove describe theme, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 00e00a6 230/325: Remove ergoemacs-component-struct, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 37fc1c8 233/325: Remove ergoemacs-theme-component--parse, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 6f703fe 235/325: Remove ergoemacs-advice, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode d0004ec 241/325: Remove more -map functions, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode ea88aad 247/325: Add back the command loop, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode d43bb0a 248/325: Fix command loop, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 87b722e 251/325: Make calculate ergoemacs bindings an interactive function, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 4c1fe49 252/325: Fix some issues, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode b7f909a 254/325: Some fixes, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode f28dc66 255/325: Add some active keymaps to ergoemacs-mode (like before),
Stefan Monnier <=
- [elpa] externals/ergoemacs-mode ecb9ac7 256/325: Align some more of the keys with what was there before. Add redo, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 9e58dd5 261/325: Simplify, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode b4b14f2 260/325: Remove ergoemacs-component, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode bde293e 263/325: Drop cache and hashkey, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 4250fae 267/325: Remove more outdated keys, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode b815b1d 273/325: Merge branch 'master' of https://github.com/mattfidler/ergoemacs-mode into mattfidler-master, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode f46ac1c 276/325: Fix typo, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode e81daf4 283/325: Require comit-mode See #505, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode d7b86f6 279/325: Add urgoemacs-redo that requires undo-fu or emacs 28, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 2fcad48 282/325: Allow toggling of ergoemacs-mode-term-raw-mode, Stefan Monnier, 2021/10/23