[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed f08f689 142/166: Some improvements for auto activ
From: |
Clemens Radermacher |
Subject: |
[elpa] externals/objed f08f689 142/166: Some improvements for auto activation |
Date: |
Sun, 29 Dec 2019 08:21:16 -0500 (EST) |
branch: externals/objed
commit f08f689d18e897e4c341265ea978e54a07dca4c1
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Some improvements for auto activation
---
objed.el | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/objed.el b/objed.el
index 1cfb62f..5531650 100644
--- a/objed.el
+++ b/objed.el
@@ -1283,6 +1283,13 @@ See `objed-cmd-alist'."
(objed--change-to :beg (mark) :ibeg (mark))
(objed--change-to :beg pos :ibeg pos)))
+(defun objed--insert-keys-rebound-p ()
+ "Return non-nil when any self insertion key is rebound."
+ (cl-dolist (char (string-to-list "abcdefghijklmnopqrstuvwxyz"))
+ (let ((binding (key-binding (vector char))))
+ (when (not (string-match "insert" (symbol-name binding)))
+ (cl-return binding)))))
+
(defun objed-init-p ()
"Default for `objed-init-p-function'."
(and (not (minibufferp))
@@ -1290,10 +1297,18 @@ See `objed-cmd-alist'."
;; don't interfere with other special modes
;; like hydra
(not overriding-terminal-local-map)
+ ;; don't activate when completing the regular Emacs way
+ (not (get-buffer-window "*Completions*" 0))
+ ;; FIXME: temp workaround for starting commit
+ ;; message in insertion mode
+ (not (eq last-command 'magit-commit-create))
+ ;; dont activate when insertion keys are bound to non insert commands
+ (not (objed--insert-keys-rebound-p))
;; TODO: add variables for those
(or (memq major-mode '(messages-buffer-mode help-mode))
(not (derived-mode-p 'comint-mode 'special-mode 'dired-mode)))))
+
(defun objed-init (&optional obj fallback)
"Function for activating objed by hooks.
- [elpa] externals/objed c34727c 122/166: Add open line command, (continued)
- [elpa] externals/objed c34727c 122/166: Add open line command, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 502fb77 127/166: Reset object if marker point into wrong buffer, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 94eee2d 126/166: Add window resize commands, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 6e08bc8 129/166: Fix hl-line integration, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed da4dae5 131/166: Allow navigating overlay faces, too, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed aca0c7a 133/166: Add error object, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 19eb055 136/166: Improve mail object regex, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed e079d7e 132/166: Use default binding for read only toggle in op map, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 71dc168 135/166: Fix skipping object when one char before it, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 1c152a1 137/166: Fix mc/num-cursors undefined when mc not loaded, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed f08f689 142/166: Some improvements for auto activation,
Clemens Radermacher <=
- [elpa] externals/objed 2e419f9 147/166: Merge pull request #52 from Lemonbreezes/patch-1, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 72befc8 100/166: Fix line object at end of buffer, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed d7b5768 104/166: Ignore comments for css defun object, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 3ae5f66 110/166: Better binding for paragraph object, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed aa776a8 113/166: Make filling paragraphs repeatable, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 44bb1d2 116/166: Add char object to keeper objects, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 1127d6f 111/166: Adjust default binding scheme again, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed f74e3c8 115/166: Refractor object continuation code, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 80cdd01 121/166: Update docstring, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 470575e 035/166: Update docs., Clemens Radermacher, 2019/12/29