diff options
author | William David Mayo ("Dave") <pobocks@gmail.com> | 2014-08-28 09:28:08 -0400 |
---|---|---|
committer | William David Mayo ("Dave") <pobocks@gmail.com> | 2014-08-28 09:28:08 -0400 |
commit | bd79daecfd6e59deb67c771c6de85817fd478b43 (patch) | |
tree | d86a0a007f1cea0c3571e4fa86f272aa21ed05b3 /emmet-mode.el | |
parent | 288fbf15b73b391e339e45573739688c3be8b7ae (diff) | |
parent | e0e0a29bcf13f29c004de6c54ea2879738cc2ecb (diff) | |
download | emmet-mode-bd79daecfd6e59deb67c771c6de85817fd478b43.tar.lz emmet-mode-bd79daecfd6e59deb67c771c6de85817fd478b43.tar.xz emmet-mode-bd79daecfd6e59deb67c771c6de85817fd478b43.zip |
Merge pull request #46 from pobocks/wrap_with_markup
Wrap with markup
Diffstat (limited to 'emmet-mode.el')
-rw-r--r-- | emmet-mode.el | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/emmet-mode.el b/emmet-mode.el index 2b4ddf7..8a9d5fb 100644 --- a/emmet-mode.el +++ b/emmet-mode.el @@ -3616,6 +3616,7 @@ For more information see `emmet-mode'." (define-key map (kbd "<C-return>") 'emmet-expand-line) (define-key map (kbd "<C-M-right>") 'emmet-next-edit-point) (define-key map (kbd "<C-M-left>") 'emmet-prev-edit-point) + (define-key map (kbd "C-c w") 'emmet-wrap-with-markup) map) "Keymap for emmet minor mode.") @@ -3881,9 +3882,14 @@ accept it or skip it." ((between-tags (if only-before-closed-tag "\\(><\\)/" "\\(><\\)")) (indented-line "\\(^[[:blank:]]+$\\)") - (between-quotes "\\(=\\(\"\\|'\\)\\{2\\}\\)") - (edit-point (format "\\(%s\\|%s\\|%s\\)" - between-tags indented-line between-quotes))) + (between-quotes + (if emmet-move-cursor-between-quotes "\\(=\\(\"\\|'\\)\\{2\\}\\)" nil)) + (whole-regex + (mapconcat 'identity + (delq nil + (list between-tags indented-line between-quotes)) + "\\|")) + (edit-point (format "\\(%s\\)" whole-regex))) (if (> count 0) (progn (forward-char) @@ -3911,6 +3917,23 @@ accept it or skip it." (forward-char))))))) ;;;###autoload +(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 ">{!EMMET-TO-WRAP-REPLACEMENT!}")) + (markup (replace-regexp-in-string + "!EMMET-TO-WRAP-REPLACEMENT!" to-wrap + (emmet-transform expr) + t t))) + (when markup + (delete-region (region-beginning) (region-end)) + (insert markup) + (indent-region (region-beginning) (region-end)) + ))) + +;;;###autoload (defun emmet-next-edit-point (count) (interactive "^p") (unless (or emmet-use-css-transform (emmet-go-to-edit-point count)) |