diff options
author | Vladimir Sedach <vas@oneofus.la> | 2018-03-29 00:57:04 -0700 |
---|---|---|
committer | Vladimir Sedach <vas@oneofus.la> | 2018-03-29 00:57:04 -0700 |
commit | 4b84fa73ab0b4a71e12cf9595a32dff2a67f2c3f (patch) | |
tree | e798dd4bd1d173c95da1553ab0476c3da7cc198e | |
parent | 1a69dde36aad44a726978504138a7ff87ae1ed8c (diff) | |
download | emmet-mode-4b84fa73ab0b4a71e12cf9595a32dff2a67f2c3f.tar.lz emmet-mode-4b84fa73ab0b4a71e12cf9595a32dff2a67f2c3f.tar.xz emmet-mode-4b84fa73ab0b4a71e12cf9595a32dff2a67f2c3f.zip |
Change emmet-wrap-with-markup to leave point at end of added markup
This makes emmet-wrap-with-markup more useful for keyboard macros
-rw-r--r-- | emmet-mode.el | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/emmet-mode.el b/emmet-mode.el index 8eff16c..346c6af 100644 --- a/emmet-mode.el +++ b/emmet-mode.el @@ -655,16 +655,31 @@ See `emmet-preview-online'." "Wrap region with markup." (interactive "sExpression to wrap with: ") (let* ((multi (string-match "\\*$" wrap-with)) - (txt (buffer-substring-no-properties (region-beginning) (region-end))) + (txt (buffer-substring-no-properties + (region-beginning) (region-end))) (to-wrap (if multi (split-string txt "\n") (list txt))) - (initial-elements (replace-regexp-in-string "\\(.*\\(\\+\\|>\\)\\)?[^>*]+\\*?[[:digit:]]*$" "\\1" wrap-with t)) - (terminal-element (replace-regexp-in-string "\\(.*>\\)?\\([^>*]+\\)\\(\\*[[:digit:]]+$\\)?\\*?$" "\\2" wrap-with t)) - (multiplier-expr (replace-regexp-in-string "\\(.*>\\)?\\([^>*]+\\)\\(\\*[[:digit:]]+$\\)?\\*?$" "\\3" wrap-with t)) + (initial-elements + (replace-regexp-in-string + "\\(.*\\(\\+\\|>\\)\\)?[^>*]+\\*?[[:digit:]]*$" + "\\1" wrap-with t)) + (terminal-element + (replace-regexp-in-string + "\\(.*>\\)?\\([^>*]+\\)\\(\\*[[:digit:]]+$\\)?\\*?$" + "\\2" wrap-with t)) + (multiplier-expr + (replace-regexp-in-string + "\\(.*>\\)?\\([^>*]+\\)\\(\\*[[:digit:]]+$\\)?\\*?$" + "\\3" wrap-with t)) (expr (concat initial-elements - (mapconcat (lambda (el) (concat terminal-element "{!!!" (secure-hash 'sha1 el) "!!!}" multiplier-expr)) + (mapconcat (lambda (el) + (concat terminal-element + "{!!!" + (secure-hash 'sha1 el) + "!!!}" + multiplier-expr)) to-wrap "+"))) (markup @@ -679,12 +694,7 @@ See `emmet-preview-online'." (when markup (delete-region (region-beginning) (region-end)) (insert markup) - (indent-region (region-beginning) (region-end)) - (let ((end (region-end))) - (goto-char (region-beginning)) - (unless (ignore-errors (progn (emmet-next-edit-point 1) t)) - (goto-char end))) - ))) + (indent-region (region-beginning) (region-end))))) ;;;###autoload (defun emmet-next-edit-point (count) |