aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Mayo <pobocks@gmail.com>2014-08-10 21:21:13 -0400
committerDave Mayo <pobocks@gmail.com>2014-08-10 21:21:13 -0400
commitb52f4b982170dcda0360b7a6a6f2c9d785fc58fc (patch)
tree5ff8c9bf15f9802bc5fc73487cb460c8fde5c26b
parentf085c9e3c248358cb5bd06b1d8495fa8b0f35638 (diff)
downloademmet-mode-b52f4b982170dcda0360b7a6a6f2c9d785fc58fc.tar.lz
emmet-mode-b52f4b982170dcda0360b7a6a6f2c9d785fc58fc.tar.xz
emmet-mode-b52f4b982170dcda0360b7a6a6f2c9d785fc58fc.zip
Better method for dealing with HTML brackets, does not rely on search.
-rw-r--r--emmet-mode.el9
-rw-r--r--src/mode-def.el9
2 files changed, 12 insertions, 6 deletions
diff --git a/emmet-mode.el b/emmet-mode.el
index 46c6c0d..2a2b023 100644
--- a/emmet-mode.el
+++ b/emmet-mode.el
@@ -3489,12 +3489,15 @@ tbl))
(defun emmet-find-left-bound ()
"Find the left bound of an emmet expr"
(save-excursion (save-match-data
- (let ((char (char-before)))
+ (let ((char (char-before))
+ (last-gt (point)))
(while char
(cond ((member char '(?\} ?\] ?\)))
(backward-sexp) (setq char (char-before)))
- ((member char '(?\<))
- (search-forward ">") (setq char nil))
+ ((eq char ?\>)
+ (setq last-gt (point)) (backward-char) (setq char (char-before)))
+ ((eq char ?\<)
+ (goto-char last-gt) (setq char nil))
((not (string-match-p "[[:space:]\n]" (string char)))
(backward-char) (setq char (char-before)))
(t
diff --git a/src/mode-def.el b/src/mode-def.el
index 6d7aebc..b042400 100644
--- a/src/mode-def.el
+++ b/src/mode-def.el
@@ -18,12 +18,15 @@
(defun emmet-find-left-bound ()
"Find the left bound of an emmet expr"
(save-excursion (save-match-data
- (let ((char (char-before)))
+ (let ((char (char-before))
+ (last-gt (point)))
(while char
(cond ((member char '(?\} ?\] ?\)))
(backward-sexp) (setq char (char-before)))
- ((member char '(?\<))
- (search-forward ">") (setq char nil))
+ ((eq char ?\>)
+ (setq last-gt (point)) (backward-char) (setq char (char-before)))
+ ((eq char ?\<)
+ (goto-char last-gt) (setq char nil))
((not (string-match-p "[[:space:]\n]" (string char)))
(backward-char) (setq char (char-before)))
(t