emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 1e46c43 306/433: Fix #8


From: Dmitry Gutov
Subject: [elpa] master 1e46c43 306/433: Fix #8
Date: Thu, 15 Mar 2018 19:44:25 -0400 (EDT)

branch: master
commit 1e46c433534c3ea5863ae139cd8f3e85417ce458
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>

    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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]