aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emmet-mode.el15
-rw-r--r--src/mode-def.el15
2 files changed, 30 insertions, 0 deletions
diff --git a/emmet-mode.el b/emmet-mode.el
index 55bbb17..1df924e 100644
--- a/emmet-mode.el
+++ b/emmet-mode.el
@@ -3915,6 +3915,21 @@ accept it or skip it."
(point))
(forward-char)))))))
+(defun emmet-wrap-with-markup (wrap-with)
+ "Wrap region with markup."
+ (interactive "sExpression to wrap with: ")
+ (let* ((emmet-move-cursor-between-quotes nil)
+ (to-wrap (buffer-substring-no-properties (region-beginning) (region-end)))
+ (expr (concat wrap-with
+ ">{"
+ (replace-regexp-in-string "\\([}{]\\)" "\\\\\&" to-wrap)
+ "}"))
+ (markup (emmet-transform expr)))
+ (when markup
+ (delete-region (region-beginning) (region-end))
+ (insert markup))))
+
+
;;;###autoload
(defun emmet-next-edit-point (count)
(interactive "^p")
diff --git a/src/mode-def.el b/src/mode-def.el
index d64b4eb..dd2435d 100644
--- a/src/mode-def.el
+++ b/src/mode-def.el
@@ -426,6 +426,21 @@ accept it or skip it."
(point))
(forward-char)))))))
+(defun emmet-wrap-with-markup (wrap-with)
+ "Wrap region with markup."
+ (interactive "sExpression to wrap with: ")
+ (let* ((emmet-move-cursor-between-quotes nil)
+ (to-wrap (buffer-substring-no-properties (region-beginning) (region-end)))
+ (expr (concat wrap-with
+ ">{"
+ ;;FIX(replace-regexp-in-string "}" (concat "\\" "\&" to-wrap)
+ "}"))
+ (markup (emmet-transform expr)))
+ (when markup
+ (delete-region (region-beginning) (region-end))
+ (insert markup))))
+
+
;;;###autoload
(defun emmet-next-edit-point (count)
(interactive "^p")