branch: elpa/symbol-overlay
commit 22686cddc39b055ff84105d25a82162e0ee3881c
Merge: 50a2bd6480 4f60487e45
Author: wolray <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #55 from tarsiiformes/inhibit-map
Add new variable symbol-overlay-inhibit-map
---
symbol-overlay.el | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/symbol-overlay.el b/symbol-overlay.el
index 8c6c40c6bb..c050154add 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -178,6 +178,13 @@ definitions to prevent a language's keywords from getting
highlighted."
;;; Internal
+(defvar-local symbol-overlay-inhibit-map nil
+ "When non-nil, don't use `symbol-overlay-map'.
+This is intended for buffers/modes that use the keymap text
+property for their own purposes. Because this package uses
+overlays it would always override the text property keymaps
+of such packages.")
+
(defvar symbol-overlay-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "i") 'symbol-overlay-put)
@@ -343,7 +350,8 @@ If FACE is non-nil, use it as the overlay’s face.
Otherwise apply `symbol-overlay-default-face'."
(let ((ov (make-overlay (match-beginning 0) (match-end 0))))
(if face (progn (overlay-put ov 'face face)
- (overlay-put ov 'keymap symbol-overlay-map)
+ (unless symbol-overlay-inhibit-map
+ (overlay-put ov 'keymap symbol-overlay-map))
(overlay-put ov 'evaporate t)
(overlay-put ov 'symbol symbol))
(overlay-put ov 'face 'symbol-overlay-default-face)