diff options
author | smihica <smihica@gmail.com> | 2013-03-24 04:25:40 +0900 |
---|---|---|
committer | smihica <smihica@gmail.com> | 2013-03-24 04:37:10 +0900 |
commit | e353327def110e43716be349c9cf79420a985ca5 (patch) | |
tree | 5304e4cabf3525b06dc13be79f8b7ccc8a5df323 /src/mode-def.el | |
parent | 62dd4214c839aa9124f9b5d13d8dff2bdb2fe180 (diff) | |
download | emmet-mode-e353327def110e43716be349c9cf79420a985ca5.tar.lz emmet-mode-e353327def110e43716be349c9cf79420a985ca5.tar.xz emmet-mode-e353327def110e43716be349c9cf79420a985ca5.zip |
Supported subset of emmet's CSS Abbreviations. You can test it in css-mode.
Diffstat (limited to 'src/mode-def.el')
-rw-r--r-- | src/mode-def.el | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/mode-def.el b/src/mode-def.el index 7a832ae..1f7e396 100644 --- a/src/mode-def.el +++ b/src/mode-def.el @@ -27,6 +27,11 @@ (replace-regexp-in-string "\n" (concat "\n" first-col) (replace-regexp-in-string " " tab markup))))) +(defun zencoding-transform (input) + (if (eql major-mode 'css-mode) + (zencoding-css-transform input) + (zencoding-html-transform input))) + ;;;###autoload (defun zencoding-expand-line (arg) "Replace the current line's zencode expression with the corresponding expansion. @@ -57,11 +62,12 @@ For more information see `zencoding-mode'." (zencoding-preview beg end)) (let ((expr (zencoding-expr-on-line))) (if expr - (let* ((markup (zencoding-transform (car (zencoding-expr (first expr))))) - (pretty (zencoding-prettify markup (current-indentation)))) - (save-excursion - (delete-region (second expr) (third expr)) - (zencoding-insert-and-flash pretty)))))))) + (let ((markup (zencoding-transform (first expr)))) + (when markup + (let ((pretty (zencoding-prettify markup (current-indentation)))) + (save-excursion + (delete-region (second expr) (third expr)) + (zencoding-insert-and-flash pretty)))))))))) (defvar zencoding-mode-keymap nil "Keymap for zencode minor mode.") @@ -100,19 +106,19 @@ See also `zencoding-expand-line'." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Zencoding yasnippet integration -(defun zencoding-transform-yas (ast) +(defun zencoding-transform-yas (input) (let* ((leaf-count 0) (zencoding-leaf-function (lambda () (format "$%d" (incf leaf-count))))) - (zencoding-transform ast))) + (zencoding-transform input))) ;;;###autoload (defun zencoding-expand-yas () (interactive) (let ((expr (zencoding-expr-on-line))) (if expr - (let* ((markup (zencoding-transform-yas (car (zencoding-expr (first expr))))) + (let* ((markup (zencoding-transform-yas (first expr))) (filled (replace-regexp-in-string "><" ">\n<" markup))) (delete-region (second expr) (third expr)) (insert filled) @@ -272,12 +278,10 @@ accept it or skip it." (defun zencoding-preview-transformed (indent) (let* ((string (buffer-substring-no-properties (overlay-start zencoding-preview-input) - (overlay-end zencoding-preview-input))) - (ast (car (zencoding-expr string)))) - (when (not (eq ast 'error)) - (let ((output (zencoding-transform ast))) - (when output - (zencoding-prettify output indent)))))) + (overlay-end zencoding-preview-input)))) + (let ((output (zencoding-transform string))) + (when output + (zencoding-prettify output indent))))) (defun zencoding-update-preview (indent) (let* ((pretty (zencoding-preview-transformed indent)) |