branch: master
commit 1e46c433534c3ea5863ae139cd8f3e85417ce458
Author: Dmitry Gutov <[email protected]>
Commit: Dmitry Gutov <[email protected]>
Fix #8
---
mmm-erb.el | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/mmm-erb.el b/mmm-erb.el
index 32a5881..0ad42f9 100644
--- a/mmm-erb.el
+++ b/mmm-erb.el
@@ -202,12 +202,17 @@
(skip-syntax-forward "-")
(funcall scan-fn end)))))))
+(defconst mmm-erb-ruby-close-re "\\bend\\b\\|}"
+ "Regexp to match the end of an Ruby block.")
+
(defun mmm-erb-scan-erb (limit)
(cond ((looking-at "\\(?:if\\|unless\\|for\\|while\\)\\b") 'open)
((looking-at "\\(?:else\\|elsif\\)\\b") 'middle)
- ((looking-at "end\\b\\|}") 'close)
- ((re-search-forward (concat "\\(?: +do +\\| *{ *\\)"
- "\\(?:|[A-Za-z0-9_, ]*|\\)? *") limit t)
+ ((looking-at mmm-erb-ruby-close-re) 'close)
+ ((and (re-search-forward (concat "\\(?: +do +\\| *{ *\\)"
+ "\\(?:|[A-Za-z0-9_, ]*|\\)? *")
+ limit t)
+ (not (re-search-forward mmm-erb-ruby-close-re limit t)))
'open)))
(defun mmm-erb-scan-ejs (limit)