[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master bceb65b 16/42: Make backspace/DEL clear field (#957)
From: |
Noam Postavsky |
Subject: |
[elpa] master bceb65b 16/42: Make backspace/DEL clear field (#957) |
Date: |
Sun, 22 Dec 2019 17:37:58 -0500 (EST) |
branch: master
commit bceb65ba292f9d5800fd9aaa261ddb9863ff22a6
Author: James Nguyen <address@hidden>
Commit: Noam Postavsky <address@hidden>
Make backspace/DEL clear field (#957)
* yasnippet.el (yas-clear-field): New command.
(yas-maybe-clear-field): New conditional binding value.
(yas-keymap): Bind it to DEL.
---
yasnippet.el | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/yasnippet.el b/yasnippet.el
index a04372a..0ae0c2c 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -402,7 +402,15 @@ It must be set to nil before loading yasnippet to take
effect."
"A conditional key definition.
This can be used as a key definition in keymaps to bind a key to
`yas-skip-and-clear-field' only when at the beginning of an
-unmodified snippey field.")
+unmodified snippet field.")
+
+(defconst yas-maybe-clear-field
+ '(menu-item "" yas-clear-field
+ :filter yas--maybe-clear-field-filter)
+ "A conditional key definition.
+This can be used as a key definition in keymaps to bind a key to
+`yas-clear-field' only when at the beginning of an
+unmodified snippet field.")
(defvar yas-keymap (let ((map (make-sparse-keymap)))
(define-key map [(tab)]
'yas-next-field-or-maybe-expand)
@@ -411,6 +419,7 @@ unmodified snippey field.")
(define-key map [backtab] 'yas-prev-field)
(define-key map (kbd "C-g") 'yas-abort-snippet)
(define-key map (kbd "C-d")
yas-maybe-skip-and-clear-field)
+ (define-key map (kbd "DEL") yas-maybe-clear-field)
map)
"The active keymap while a snippet expansion is in progress.")
@@ -3678,6 +3687,11 @@ Use as a `:filter' argument for a conditional
keybinding."
(yas--skip-and-clear (or field (yas-current-field)))
(yas-next-field 1))
+(defun yas-clear-field (&optional field)
+ "Clears unmodified FIELD if at field start."
+ (interactive)
+ (yas--skip-and-clear (or field (yas-current-field))))
+
(defun yas-skip-and-clear-or-delete-char (&optional field)
"Clears unmodified field if at field start, skips to next tab.
- [elpa] master e67592c 03/42: Don't use overlays to find active snippets, (continued)
- [elpa] master e67592c 03/42: Don't use overlays to find active snippets, Noam Postavsky, 2019/12/22
- [elpa] master 79b90c9 04/42: Remove compatibility code for Emacs 22 and earlier, Noam Postavsky, 2019/12/22
- [elpa] master d3bb879 05/42: Remove last-buffer-undo-list compat definition, Noam Postavsky, 2019/12/22
- [elpa] master 4f78d03 01/42: Close #937: Officially support automatically moving to next field, Noam Postavsky, 2019/12/22
- [elpa] master 1e71360 06/42: Per #947: fix typo in README.md, Noam Postavsky, 2019/12/22
- [elpa] master 7a178a2 07/42: Remove spurious change of before-change-functions, Noam Postavsky, 2019/12/22
- [elpa] master 8328c38 08/42: Fix another failure of cc-mode indentation, Noam Postavsky, 2019/12/22
- [elpa] master eeb05f0 10/42: Handle field adjust of pending active fields, Noam Postavsky, 2019/12/22
- [elpa] master 8452227 13/42: Consider fundamental-mode as ultimate ancestor, Noam Postavsky, 2019/12/22
- [elpa] master fb253ac 15/42: New public function yas-maybe-expand-abbrev-key-filter, Noam Postavsky, 2019/12/22
- [elpa] master bceb65b 16/42: Make backspace/DEL clear field (#957),
Noam Postavsky <=
- [elpa] master 3c0be40 11/42: Update FAQ, Noam Postavsky, 2019/12/22
- [elpa] master 8b25d62 20/42: * doc/snippet-development.org: Fix typos., Noam Postavsky, 2019/12/22
- [elpa] master 7612bc1 24/42: Don't check this-command in yas-not-string-or-comment-condition, Noam Postavsky, 2019/12/22
- [elpa] master dabc719 21/42: Don't turn on yas-minor-mode in temp buffers, Noam Postavsky, 2019/12/22
- [elpa] master fc33b2f 28/42: Make overlay-modification protection optional, Noam Postavsky, 2019/12/22
- [elpa] master 048d030 22/42: Fix line-relative snapshotting for org src blocks, Noam Postavsky, 2019/12/22
- [elpa] master bae20af 27/42: ; * doc/faq.org: Linkify bug reference., Noam Postavsky, 2019/12/22
- [elpa] master ffc733d 09/42: ; Debug code fixes, Noam Postavsky, 2019/12/22
- [elpa] master 1d96da2 18/42: Don't call before/after change-functions twice, Noam Postavsky, 2019/12/22
- [elpa] master 6a3619b 23/42: Fix additional corner case with org source block integration, Noam Postavsky, 2019/12/22