aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflyingleafe <flyingleafe@gmail.com>2014-08-23 01:34:30 +0600
committerflyingleafe <flyingleafe@gmail.com>2014-08-23 01:34:30 +0600
commit2265ce69c30e01fe57f8700d83931d769d73dd40 (patch)
tree54d48c22bbae5d41d7573931ebac81c73f39b06a
parentc7d0c079d603c1bc23e506bcc3ea1e3a6c62656c (diff)
downloademmet-mode-2265ce69c30e01fe57f8700d83931d769d73dd40.tar.lz
emmet-mode-2265ce69c30e01fe57f8700d83931d769d73dd40.tar.xz
emmet-mode-2265ce69c30e01fe57f8700d83931d769d73dd40.zip
Moved cursor repositioning logic in separate function
-rw-r--r--emmet-mode.el28
-rw-r--r--src/mode-def.el28
2 files changed, 26 insertions, 30 deletions
diff --git a/emmet-mode.el b/emmet-mode.el
index c3bfc0b..75012cf 100644
--- a/emmet-mode.el
+++ b/emmet-mode.el
@@ -3554,6 +3554,17 @@ e. g. without semicolons")
(emmet-css-transform input)
(emmet-html-transform input)))
+(defun emmet-reposition-cursor (expr)
+ (let ((output-markup (buffer-substring-no-properties (second expr) (point))))
+ (when emmet-move-cursor-after-expanding
+ (let ((p (point))
+ (new-pos (if (emmet-html-text-p output-markup)
+ (emmet-html-next-insert-point output-markup)
+ (emmet-css-next-insert-point output-markup))))
+ (goto-char
+ (+ (- p (length output-markup))
+ new-pos))))))
+
;;;###autoload
(defun emmet-expand-line (arg)
"Replace the current line's emmet expression with the corresponding expansion.
@@ -3582,15 +3593,7 @@ For more information see `emmet-mode'."
(when markup
(delete-region (second expr) (third expr))
(emmet-insert-and-flash markup)
- (let ((output-markup (buffer-substring-no-properties (second expr) (point))))
- (when emmet-move-cursor-after-expanding
- (let ((p (point))
- (new-pos (if (emmet-html-text-p output-markup)
- (emmet-html-next-insert-point output-markup)
- (emmet-css-next-insert-point output-markup))))
- (goto-char
- (+ (- p (length output-markup))
- new-pos))))))))))))
+ (emmet-reposition-cursor expr))))))))
(defvar emmet-mode-keymap
(let
@@ -3703,12 +3706,7 @@ See also `emmet-expand-line'."
(when markup
(delete-region (overlay-start ovli) (overlay-end ovli))
(emmet-insert-and-flash markup)
- (let ((output-markup (buffer-substring-no-properties (line-beginning-position) (point))))
- (when (and emmet-move-cursor-after-expanding (emmet-html-text-p markup))
- (let ((p (point)))
- (goto-char
- (+ (- p (length output-markup))
- (emmet-html-next-insert-point output-markup))))))))))
+ (emmet-reposition-cursor expr)))))
(emmet-preview-abort))
(defun emmet-html-next-insert-point (str)
diff --git a/src/mode-def.el b/src/mode-def.el
index ddd580e..ba8ca54 100644
--- a/src/mode-def.el
+++ b/src/mode-def.el
@@ -65,6 +65,17 @@ e. g. without semicolons")
(emmet-css-transform input)
(emmet-html-transform input)))
+(defun emmet-reposition-cursor (expr)
+ (let ((output-markup (buffer-substring-no-properties (second expr) (point))))
+ (when emmet-move-cursor-after-expanding
+ (let ((p (point))
+ (new-pos (if (emmet-html-text-p output-markup)
+ (emmet-html-next-insert-point output-markup)
+ (emmet-css-next-insert-point output-markup))))
+ (goto-char
+ (+ (- p (length output-markup))
+ new-pos))))))
+
;;;###autoload
(defun emmet-expand-line (arg)
"Replace the current line's emmet expression with the corresponding expansion.
@@ -93,15 +104,7 @@ For more information see `emmet-mode'."
(when markup
(delete-region (second expr) (third expr))
(emmet-insert-and-flash markup)
- (let ((output-markup (buffer-substring-no-properties (second expr) (point))))
- (when emmet-move-cursor-after-expanding
- (let ((p (point))
- (new-pos (if (emmet-html-text-p output-markup)
- (emmet-html-next-insert-point output-markup)
- (emmet-css-next-insert-point output-markup))))
- (goto-char
- (+ (- p (length output-markup))
- new-pos))))))))))))
+ (emmet-reposition-cursor expr))))))))
(defvar emmet-mode-keymap
(let
@@ -214,12 +217,7 @@ See also `emmet-expand-line'."
(when markup
(delete-region (overlay-start ovli) (overlay-end ovli))
(emmet-insert-and-flash markup)
- (let ((output-markup (buffer-substring-no-properties (line-beginning-position) (point))))
- (when (and emmet-move-cursor-after-expanding (emmet-html-text-p markup))
- (let ((p (point)))
- (goto-char
- (+ (- p (length output-markup))
- (emmet-html-next-insert-point output-markup))))))))))
+ (emmet-reposition-cursor expr)))))
(emmet-preview-abort))
(defun emmet-html-next-insert-point (str)