[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/guru-mode a227ee5 15/42: Add the ability to only warn when
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/guru-mode a227ee5 15/42: Add the ability to only warn when arrow keys are being used |
Date: |
Wed, 11 Aug 2021 09:58:28 -0400 (EDT) |
branch: elpa/guru-mode
commit a227ee5e6da06dc826323c107bad631890414732
Author: Bozhidar Batsov <bozhidar@tradeo.com>
Commit: Bozhidar Batsov <bozhidar@tradeo.com>
Add the ability to only warn when arrow keys are being used
---
README.md | 6 ++++++
guru-mode.el | 65 +++++++++++++++++++++++++++++++++---------------------------
2 files changed, 42 insertions(+), 29 deletions(-)
diff --git a/README.md b/README.md
index 98f1579..c8dd20f 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,12 @@ Most likely you'd like to enable `guru-mode` only in
specific modes
(add-hook 'prog-mode-hook 'turn-on-guru-mode)
```
+If you only want to get warnings when you the arrow keys use the following
config:
+
+```lisp
+(setq guru-warn-only t)
+```
+
# Share the knowledge
[WikEmacs](http://wikemacs.org) collects useful resources for working
diff --git a/guru-mode.el b/guru-mode.el
index 0beaa3f..878fe58 100644
--- a/guru-mode.el
+++ b/guru-mode.el
@@ -1,6 +1,6 @@
-;;; guru-mode.el --- Become an Emacs guru
+;;; guru-mode.el --- Become an Emacs guru -*- lexical-binding:t -*-
-;; Copyright (C) 2012 Bozhidar Batsov
+;; Copyright (C) 2012-2013 Bozhidar Batsov
;; Author: Bozhidar Batsov
;; URL: https://github.com/bbatsov/guru-mode
@@ -35,36 +35,43 @@
(defvar guru-mode-map (make-sparse-keymap)
"Guru mode's keymap.")
-(defvar affected-bindings-list '(("<left>" . "C-b")
- ("<right>" . "C-f")
- ("<up>" . "C-p")
- ("<down>" . "C-n")
- ("<C-left>" . "M-b")
- ("<C-right>" . "M-f")
- ("<C-up>" . "M-{")
- ("<C-down>" . "M-}")
- ("<M-left>" . "M-b")
- ("<M-right>" . "M-f")
- ("<M-up>" . "M-{")
- ("<M-down>" . "M-}")
- ("<delete>" . "C-d")
- ("<C-delete>" . "M-d")
- ("<M-delete>" . "M-d")
- ("<next>" . "C-v")
- ("<C-next>" . "M-x <")
- ("<prior>" . "M-v")
- ("<C-prior>" . "M-x >")
- ("<home>" . "C-a")
- ("<C-home>" . "M-<")
- ("<end>" . "C-e")
- ("<C-end>" . "M->")))
+(defvar guru-warn-only nil
+ "When non-nil you'll only get an error message.")
+
+(defvar guru-affected-bindings-list
+ '(("<left>" . "C-b")
+ ("<right>" . "C-f")
+ ("<up>" . "C-p")
+ ("<down>" . "C-n")
+ ("<C-left>" . "M-b")
+ ("<C-right>" . "M-f")
+ ("<C-up>" . "M-{")
+ ("<C-down>" . "M-}")
+ ("<M-left>" . "M-b")
+ ("<M-right>" . "M-f")
+ ("<M-up>" . "M-{")
+ ("<M-down>" . "M-}")
+ ("<delete>" . "C-d")
+ ("<C-delete>" . "M-d")
+ ("<M-delete>" . "M-d")
+ ("<next>" . "C-v")
+ ("<C-next>" . "M-x <")
+ ("<prior>" . "M-v")
+ ("<C-prior>" . "M-x >")
+ ("<home>" . "C-a")
+ ("<C-home>" . "M-<")
+ ("<end>" . "C-e")
+ ("<C-end>" . "M->")))
(defun guru-rebind (original-key alt-key)
- `(lambda ()
- (interactive)
- (message "%s keybinding is disabled! Use <%s> instead" ,original-key
,alt-key)))
+ (lambda ()
+ (interactive)
+ (let ((warning-text (if guru-warn-only "discouraged" "disabled")))
+ (message "%s keybinding is %s! Use <%s> instead" original-key
warning-text alt-key))
+ (when guru-warn-only
+ (call-interactively (key-binding (kbd alt-key))))))
-(dolist (cell affected-bindings-list)
+(dolist (cell guru-affected-bindings-list)
(define-key guru-mode-map
(read-kbd-macro (car cell)) (guru-rebind (car cell) (cdr cell))))
- [nongnu] elpa/guru-mode fc9dc59 17/42: Clean up a bit, (continued)
- [nongnu] elpa/guru-mode fc9dc59 17/42: Clean up a bit, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode b33e4d1 18/42: Update hook example, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode 1086b77 20/42: only block keys with bindings in global-map, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode db23636 21/42: Merge pull request #5 from cowboyd/allow-minor-modes-to-reclaim-beginner-keys, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode eb38fb2 23/42: Fix delete key handling, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode 062a417 27/42: Merge pull request #8 from ThibautVerron/keybindings-horizontal-scroll, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode fd80d94 14/42: added contribution guidelines, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode da632fa 26/42: Merge pull request #10 from syohex/update-url, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode ba88b73 09/42: minor documentation update, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode adf92d9 12/42: docs & code clean-up, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode a227ee5 15/42: Add the ability to only warn when arrow keys are being used,
ELPA Syncer <=
- [nongnu] elpa/guru-mode 704a47d 25/42: Update MELPA URL, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode c180e05 30/42: Change "Home" and "End" replacements, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode 3d53276 34/42: [Fix #7] Don't initialize the keymap at load time, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode 71ccf45 37/42: Fix indentation, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode e91cdfb 40/42: Fix broken badge, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode 0c0db11 10/42: Removed a duplicated keybinding in the keymap., ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode c0e92da 13/42: use car/cdr instead of first & rest, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode 6f9392f 19/42: Remove a couple of redundant functions, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode e7c3500 22/42: Wrong keybindings, ELPA Syncer, 2021/08/11
- [nongnu] elpa/guru-mode 8ee0fcb 24/42: Merge pull request #9 from bkruczyk/fix-delete-key-handling, ELPA Syncer, 2021/08/11