aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflyingleafe <flyingleafe@gmail.com>2014-08-23 01:34:30 +0600
committerDave Mayo <pobocks@gmail.com>2014-08-24 17:07:31 -0400
commit40c588077d69787db91f5d48c2c1df8e2c464274 (patch)
treeb341072f2a077943c8c39db933935dbe7182175b
parentb07898b62050eb08141c00fd1e8975f5ada0a197 (diff)
downloademmet-mode-40c588077d69787db91f5d48c2c1df8e2c464274.tar.lz
emmet-mode-40c588077d69787db91f5d48c2c1df8e2c464274.tar.xz
emmet-mode-40c588077d69787db91f5d48c2c1df8e2c464274.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 60bd0c6..090ca13 100644
--- a/emmet-mode.el
+++ b/emmet-mode.el
@@ -3555,6 +3555,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.
@@ -3583,15 +3594,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
@@ -3704,12 +3707,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 f2f8b2c..31f9d23 100644
--- a/src/mode-def.el
+++ b/src/mode-def.el
@@ -66,6 +66,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.
@@ -94,15 +105,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
@@ -215,12 +218,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)