[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 146b161 25/36: Don't indent empty lines in snippet expansi
From: |
Noam Postavsky |
Subject: |
[elpa] master 146b161 25/36: Don't indent empty lines in snippet expansion |
Date: |
Sat, 11 Jun 2016 19:21:11 +0000 (UTC) |
branch: master
commit 146b161112b68c99ecd607ec5360accc1f4db3cd
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>
Don't indent empty lines in snippet expansion
* yasnippet.el (yas--indent-region): Indent only non-empty lines.
* yasnippet-tests.el (basic-indentation): Add empy and non-empty (but
blank) lines in test snippet.
---
yasnippet-tests.el | 6 +++++-
yasnippet.el | 3 ++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/yasnippet-tests.el b/yasnippet-tests.el
index 828d71a..8ba4632 100644
--- a/yasnippet-tests.el
+++ b/yasnippet-tests.el
@@ -200,9 +200,13 @@
(set (make-local-variable 'yas-indent-line) 'auto)
(set (make-local-variable 'yas-also-auto-indent-first-line) t)
(yas-expand-snippet "def ${1:method}${2:(${3:args})}\n$0\nend")
+ ;; Note that empty line is not indented.
+ (should (string= "def method(args)
+
+end" (buffer-string)))
(cl-loop repeat 3 do (ert-simulate-command '(yas-next-field)))
(yas-mock-insert (make-string (random 5) ?\ )) ; purposedly mess up
indentation
- (yas-expand-snippet "class << ${self}\n$0\nend")
+ (yas-expand-snippet "class << ${self}\n $0\nend")
(ert-simulate-command '(yas-next-field))
(should (string= "def method(args)
class << self
diff --git a/yasnippet.el b/yasnippet.el
index 5aa53c6..2da3062 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -3918,7 +3918,8 @@ The SNIPPET's markers are preserved."
(goto-char from)
(save-restriction
(widen)
- (cl-loop do
+ ;; Indent each non-empty line.
+ (cl-loop if (/= (line-beginning-position) (line-end-position)) do
(back-to-indentation)
(let ((trouble-markers ; The markers at (point).
(cl-remove (point) snippet-markers :test #'/=)))
- [elpa] master c0032e6 08/36: chmod -x doc/yas-doc-helper.el, (continued)
- [elpa] master c0032e6 08/36: chmod -x doc/yas-doc-helper.el, Noam Postavsky, 2016/06/11
- [elpa] master 14f830a 13/36: Test expansion in an empty buffer, Noam Postavsky, 2016/06/11
- [elpa] master a87ec54 12/36: yasnippet.el (yas-next-field-will-exit-p): New function., Noam Postavsky, 2016/06/11
- [elpa] master 7799aa9 09/36: Document .yas-setup.el, Noam Postavsky, 2016/06/11
- [elpa] master 4f2aa15 05/36: Only kill snippets for text length change, Noam Postavsky, 2016/06/11
- [elpa] master 8771082 03/36: Don't add useless kill ring entries, Noam Postavsky, 2016/06/11
- [elpa] master cc14db3 11/36: Refactor yas-next-field a bit, Noam Postavsky, 2016/06/11
- [elpa] master db4cd31 20/36: Delete active region for trigger key expansion, Noam Postavsky, 2016/06/11
- [elpa] master e37ce9e 18/36: Disable region wrapping for trigger key expansion, Noam Postavsky, 2016/06/11
- [elpa] master 6180cc4 28/36: Fix field transform application in yas-next-field, Noam Postavsky, 2016/06/11
- [elpa] master 146b161 25/36: Don't indent empty lines in snippet expansion,
Noam Postavsky <=
- [elpa] master e9406f5 26/36: Document $> and fix escaping, Noam Postavsky, 2016/06/11
- [elpa] master 6f97316 27/36: Fix outdated and misformatted docs, Noam Postavsky, 2016/06/11
- [elpa] master bd30a30 04/36: yas-dont-activate is a hook, Noam Postavsky, 2016/06/11
- [elpa] master c1b2cb7 17/36: Improve documentation for new register option, Noam Postavsky, 2016/06/11
- [elpa] master 4c6064c 01/36: Avoid potential problems with user's hooks, Noam Postavsky, 2016/06/11
- [elpa] master 5d44a9f 19/36: Revert "Disable region wrapping for trigger key expansion", Noam Postavsky, 2016/06/11
- [elpa] master beb2ba4 21/36: Fix fields following $0 + region insertion, Noam Postavsky, 2016/06/11
- [elpa] master eeb4b62 14/36: Add new tests for multi-line mirror indentation, Noam Postavsky, 2016/06/11
- [elpa] master 78fe979 22/36: Support htmlize.el in Rakefile doc target, Noam Postavsky, 2016/06/11
- [elpa] master 7f03a23 07/36: Change Emacs installation method for Travis CI, Noam Postavsky, 2016/06/11