diff options
author | Shin Aoyama <smihica@gmail.com> | 2018-05-04 00:04:04 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-04 00:04:04 +0900 |
commit | 7c85cb3135ba6d10ee91cc1b3b310b4e22cbaff4 (patch) | |
tree | e798dd4bd1d173c95da1553ab0476c3da7cc198e | |
parent | 5af39aaef59125fd80901f275c23c89493f9d133 (diff) | |
parent | 4b84fa73ab0b4a71e12cf9595a32dff2a67f2c3f (diff) | |
download | emmet-mode-7c85cb3135ba6d10ee91cc1b3b310b4e22cbaff4.tar.lz emmet-mode-7c85cb3135ba6d10ee91cc1b3b310b4e22cbaff4.tar.xz emmet-mode-7c85cb3135ba6d10ee91cc1b3b310b4e22cbaff4.zip |
Merge pull request #95 from vsedach/master
Two minor fixes for emmet-wrap-with-markup
-rw-r--r-- | emmet-mode.el | 39 |
1 files changed, 24 insertions, 15 deletions
diff --git a/emmet-mode.el b/emmet-mode.el index c1326ed..346c6af 100644 --- a/emmet-mode.el +++ b/emmet-mode.el @@ -305,13 +305,12 @@ For more information see `emmet-mode'." (emmet-reposition-cursor expr)))))))) (defvar emmet-mode-keymap - (let - ((map (make-sparse-keymap))) + (let ((map (make-sparse-keymap))) (define-key map (kbd "C-j") 'emmet-expand-line) (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) + (define-key map (kbd "C-c C-c w") 'emmet-wrap-with-markup) map) "Keymap for emmet minor mode.") @@ -656,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 @@ -680,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) @@ -4011,7 +4020,7 @@ tbl)) (emmet-join-string (mapcar #'(lambda (expr) - (let* + (let* ((hash-map (if emmet-use-sass-syntax emmet-sass-snippets emmet-css-snippets)) (basement (emmet-aif |