From 8907fd1d42cc56d293e5a3bc028570eef6bce0d9 Mon Sep 17 00:00:00 2001 From: rubikitch Date: Tue, 14 Jun 2016 07:18:02 +0900 Subject: [PATCH] Escape yas-selected-text for new snippet. * yasnippet.el (yas-escape-text): New function. (yas-new-snippet-default): Call it on yas-selected-text. Close #709. --- yasnippet.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/yasnippet.el b/yasnippet.el index bfe5590..00ff3d2 100644 --- a/yasnippet.el +++ b/yasnippet.el @@ -207,7 +207,7 @@ created with `yas-new-snippet'. " # name: $1 # key: ${2:${1:$(yas--key-from-desc yas-text)}} # -- -$0`yas-selected-text`" +$0`(yas-escape-text yas-selected-text)`" "Default snippet to use when creating a new snippet. If nil, don't use any snippet." :type 'string @@ -1926,6 +1926,11 @@ foo\"bar\\! -> \"foo\\\"bar\\\\!\"" string t) "\"")) + +(defun yas-escape-text (text) + "Escape TEXT for snippet." + (replace-regexp-in-string "[\\$]" "\\\\\\&" text)) + ;;; Snippet compilation function