aboutsummaryrefslogtreecommitdiffstats
path: root/src/html-abbrev.el
diff options
context:
space:
mode:
Diffstat (limited to 'src/html-abbrev.el')
-rw-r--r--src/html-abbrev.el42
1 files changed, 25 insertions, 17 deletions
diff --git a/src/html-abbrev.el b/src/html-abbrev.el
index ad53474..e66b459 100644
--- a/src/html-abbrev.el
+++ b/src/html-abbrev.el
@@ -51,16 +51,18 @@
(defun emmet-default-filter ()
"Default filter(s) to be used if none is specified."
- (let* ((file-ext (car (emmet-regex ".*\\(\\..*\\)" (or (buffer-file-name) "") 1)))
- (defaults '(".html" ("html")
- ".htm" ("html")
- ".haml" ("haml")
- ".clj" ("hic")))
- (default-else '("html"))
- (selected-default (member file-ext defaults)))
- (if selected-default
- (cadr selected-default)
- default-else)))
+ (or emmet-file-filter
+ (let* ((file-ext (car (emmet-regex ".*\\(\\..*\\)" (or (buffer-file-name) "") 1)))
+ (defaults '(".html" ("html")
+ ".htm" ("html")
+ ".haml" ("haml")
+ ".clj" ("hic")
+ ".cljs" ("hic")))
+ (default-else emmet-fallback-filter)
+ (selected-default (member file-ext defaults)))
+ (if selected-default
+ (cadr selected-default)
+ default-else))))
(defun emmet-numbering (input)
(emmet-parse
@@ -251,9 +253,12 @@
(emmet-run
emmet-name
(let ((name (cdr expr)))
- (emmet-pif (emmet-prop-value name input)
- it
- `((,(read name) "") . ,input))))))
+ (emmet-pif (emmet-parse "\\.\\(.*?\\)" 2 "."
+ `((,(read name)) . ,input))
+ it
+ (emmet-pif (emmet-prop-value name input)
+ it
+ `((,(read name) "") . ,input)))))))
(defun emmet-prop-value (name input)
(emmet-pif (emmet-parse "=\"\\(.*?\\)\"" 2
@@ -561,15 +566,18 @@
(emmet-mapconcat-or-empty
" " merged-tag-props " " nil
(lambda (prop)
- (let ((key (car prop)))
- (concat (if (symbolp key) (symbol-name key) key)
- "=\"" (cadr prop) "\""))))))
+ (let* ((key (car prop))
+ (key (if (symbolp key) (symbol-name key) key))
+ (value (cadr prop)))
+ (if value
+ (concat key "=\"" value "\"")
+ key))))))
(content-multiline? (and content (string-match "\n" content)))
(block-tag? (and settings (gethash "block" settings)))
(self-closing? (and (not (or tag-txt content))
(or (not tag-has-body?)
(and settings (gethash "selfClosing" settings)))))
- (block-indentation? (or content-multiline? (and block-tag? content)))
+ (block-indentation? (or content-multiline? (and block-tag? content)))
(lf (if block-indentation? "\n")))
(concat "<" tag-name id classes props
(if self-closing?