diff options
author | flyingleafe <flyingleafe@gmail.com> | 2014-08-23 01:34:30 +0600 |
---|---|---|
committer | Dave Mayo <pobocks@gmail.com> | 2014-08-24 17:07:31 -0400 |
commit | 40c588077d69787db91f5d48c2c1df8e2c464274 (patch) | |
tree | b341072f2a077943c8c39db933935dbe7182175b | |
parent | b07898b62050eb08141c00fd1e8975f5ada0a197 (diff) | |
download | emmet-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.el | 28 | ||||
-rw-r--r-- | src/mode-def.el | 28 |
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) |