aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Sedach <vas@oneofus.la>2018-03-29 00:57:04 -0700
committerVladimir Sedach <vas@oneofus.la>2018-03-29 00:57:04 -0700
commit4b84fa73ab0b4a71e12cf9595a32dff2a67f2c3f (patch)
treee798dd4bd1d173c95da1553ab0476c3da7cc198e
parent1a69dde36aad44a726978504138a7ff87ae1ed8c (diff)
downloademmet-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.el32
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)