aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShin Aoyama <smihica@gmail.com>2014-07-02 10:20:10 +0900
committerShin Aoyama <smihica@gmail.com>2014-07-02 10:20:10 +0900
commitdb356e8b5eafb873f15b331d109a640031149890 (patch)
treebf4e5c6e6aebc83b431c6cd0b93669cd87d28ec9
parentf56174e5905a40583b47f9737abee3af8da3faeb (diff)
parente6a2801de1c1fa89fc0d69172f68fd114a50ac22 (diff)
downloademmet-mode-db356e8b5eafb873f15b331d109a640031149890.tar.lz
emmet-mode-db356e8b5eafb873f15b331d109a640031149890.tar.xz
emmet-mode-db356e8b5eafb873f15b331d109a640031149890.zip
Merge pull request #24 from pobocks/issue_23
Fix #23, until a better way is found.
-rw-r--r--emmet-mode.el12
-rw-r--r--src/mode-def.el12
2 files changed, 22 insertions, 2 deletions
diff --git a/emmet-mode.el b/emmet-mode.el
index b06a8b6..b6a471b 100644
--- a/emmet-mode.el
+++ b/emmet-mode.el
@@ -3465,6 +3465,14 @@ tbl))
"Customization group for emmet-mode."
:group 'convenience)
+(defun emmet-check-for-markup (bound)
+ (save-excursion
+ (save-match-data
+ (goto-char (line-beginning-position))
+ (if (re-search-forward "\\(\\([ \t]+\\)?<[^>]*?>\\)+" bound t)
+ t
+ nil))))
+
(defun emmet-expr-on-line ()
"Extract a emmet expression and the corresponding bounds
for the current line."
@@ -3551,7 +3559,9 @@ For more information see `emmet-mode'."
(if expr
(let ((markup (emmet-transform (first expr))))
(when markup
- (let ((pretty (emmet-prettify markup (current-indentation))))
+ (let ((pretty (if (emmet-check-for-markup here)
+ markup
+ (emmet-prettify markup (current-indentation)))))
(when pretty
(delete-region (second expr) (third expr))
(emmet-insert-and-flash pretty)
diff --git a/src/mode-def.el b/src/mode-def.el
index dd82409..82c74fd 100644
--- a/src/mode-def.el
+++ b/src/mode-def.el
@@ -5,6 +5,14 @@
"Customization group for emmet-mode."
:group 'convenience)
+(defun emmet-check-for-markup (bound)
+ (save-excursion
+ (save-match-data
+ (goto-char (line-beginning-position))
+ (if (re-search-forward "\\(\\([ \t]+\\)?<[^>]*?>\\)+" bound t)
+ t
+ nil))))
+
(defun emmet-expr-on-line ()
"Extract a emmet expression and the corresponding bounds
for the current line."
@@ -91,7 +99,9 @@ For more information see `emmet-mode'."
(if expr
(let ((markup (emmet-transform (first expr))))
(when markup
- (let ((pretty (emmet-prettify markup (current-indentation))))
+ (let ((pretty (if (emmet-check-for-markup here)
+ markup
+ (emmet-prettify markup (current-indentation)))))
(when pretty
(delete-region (second expr) (third expr))
(emmet-insert-and-flash pretty)