Last active
February 5, 2024 09:30
-
-
Save timcharper/e95b6de243607ffd7985923334e1b31a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defun insert-hello () | |
(interactive) | |
(insert "hello")) | |
;; Define a function to cancel the keymap override | |
(defun cancel-override () | |
(interactive) | |
;; Remove the override from `minor-mode-overriding-map-alist` | |
(setq minor-mode-overriding-map-alist | |
(assq-delete-all 'copilot-mode minor-mode-overriding-map-alist))) | |
;; Create and populate the new keymap | |
(defvar my-override-keymap (let ((map (make-sparse-keymap))) | |
(define-key map (kbd "h") 'insert-hello) | |
(define-key map (kbd "j") 'cancel-override) | |
map) | |
"Keymap for temporarily overriding `copilot-mode'.") | |
;; Function to activate the keymap override | |
(defun activate-my-override () | |
(interactive) | |
(make-local-variable 'minor-mode-overriding-map-alist) | |
(let ((override-entry (assq #'copilot-mode minor-mode-overriding-map-alist)) | |
(composed-keymap (make-composed-keymap my-override-keymap copilot-mode-map))) | |
(if override-entry | |
(setcdr override-entry composed-keymap) | |
(push (cons #'copilot-mode composed-keymap) | |
minor-mode-overriding-map-alist)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment