From cffd1aa095c0f6d16d1f4f099f97c742d2ee3b9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Thu, 2 Aug 2012 08:22:14 +0100 Subject: [PATCH] Closes #235: implement `yas--init-yas-in-snippet-keymap` --- yasnippet.el | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/yasnippet.el b/yasnippet.el index 0709108..49b5d85 100644 --- a/yasnippet.el +++ b/yasnippet.el @@ -426,17 +426,20 @@ the trigger key itself." (dolist (key keys) (define-key keymap (read-kbd-macro key) definition)))) -(defvar yas-keymap - (let ((map (make-sparse-keymap))) - (mapc #'(lambda (binding) - (yas--define-some-keys (car binding) map (cdr binding))) - `((,yas-next-field-key . yas-next-field-or-maybe-expand) - (,yas-prev-field-key . yas-prev-field) - ("C-g" . yas-abort-snippet) - (,yas-skip-and-clear-key . yas-skip-and-clear-or-delete-char))) - map) +(defvar yas-keymap (yas--init-yas-in-snippet-keymap) "The keymap active while a snippet expansion is in progress.") +(defun yas--init-yas-in-snippet-keymap () + (setq yas-keymap + (let ((map (make-sparse-keymap))) + (mapc #'(lambda (binding) + (yas--define-some-keys (car binding) map (cdr binding))) + `((,yas-next-field-key . yas-next-field-or-maybe-expand) + (,yas-prev-field-key . yas-prev-field) + ("C-g" . yas-abort-snippet) + (,yas-skip-and-clear-key . yas-skip-and-clear-or-delete-char))) + map))) + (defvar yas-key-syntaxes (list "w" "w_" "w_." "w_.()" "^ ") "List of character syntaxes used to find a trigger key before point. The list is tried in the order while scanning characters