aboutsummaryrefslogtreecommitdiffstats
path: root/src/css-abbrev.el
diff options
context:
space:
mode:
authorJesús <heckyel@hyperbola.info>2020-01-10 13:58:14 -0500
committerJesús <heckyel@hyperbola.info>2020-01-10 13:58:14 -0500
commitdc471a600b7c9219e46c95900919ec0ac88106d0 (patch)
tree5a73ca7bfdd335baf8972ceeafa1fc2723e56b59 /src/css-abbrev.el
parentd7424d40aa963e47d3224b81ccf41c4f8669617d (diff)
downloademmet-mode-dc471a600b7c9219e46c95900919ec0ac88106d0.tar.lz
emmet-mode-dc471a600b7c9219e46c95900919ec0ac88106d0.tar.xz
emmet-mode-dc471a600b7c9219e46c95900919ec0ac88106d0.zip
improve syntax
Diffstat (limited to 'src/css-abbrev.el')
-rw-r--r--src/css-abbrev.el162
1 files changed, 81 insertions, 81 deletions
diff --git a/src/css-abbrev.el b/src/css-abbrev.el
index 37fb091..8b7b907 100644
--- a/src/css-abbrev.el
+++ b/src/css-abbrev.el
@@ -33,7 +33,7 @@
4 "css color argument"
(let ((color
(let* ((n (elt it 1))
- (l (length n)))
+ (l (length n)))
(substring
(cond ((= l 1) (concat (make-list 6 (string-to-char n))))
((= l 2) (concat n n n))
@@ -73,11 +73,11 @@
(defun emmet-css-parse-arg (input)
(emmet-run emmet-css-arg-number it
- (emmet-run emmet-css-arg-color it
- (emmet-run emmet-css-arg-something it
- (if (equal input "")
- it
- (cons input ""))))))
+ (emmet-run emmet-css-arg-color it
+ (emmet-run emmet-css-arg-something it
+ (if (equal input "")
+ it
+ (cons input ""))))))
(defun emmet-css-important-p (input)
(let ((len (length input)))
@@ -113,12 +113,12 @@
(defun emmet-css-subexpr (exp)
(let* ((importantp (emmet-css-important-p exp)))
(destructuring-bind (exp vp)
- (emmet-css-split-vendor-prefixes exp)
- (destructuring-bind (key args)
- (emmet-css-split-args (if importantp (subseq exp 0 -1) exp))
- `(,key ,vp
- ,importantp
- ,@(emmet-css-parse-args args))))))
+ (emmet-css-split-vendor-prefixes exp)
+ (destructuring-bind (key args)
+ (emmet-css-split-args (if importantp (subseq exp 0 -1) exp))
+ `(,key ,vp
+ ,importantp
+ ,@(emmet-css-parse-args args))))))
(defun emmet-css-toknize (str)
(let* ((i (split-string str "+"))
@@ -161,41 +161,41 @@
(defun emmet-css-instantiate-lambda (str)
(cl-flet ((insert-space-between-name-and-body
- (str)
- (if (string-match "^\\([a-z-]+:\\)\\(.+\\)$" str)
- (emmet-join-string
- (mapcar (lambda (ref) (match-string ref str)) '(1 2)) " ")
- str))
- (split-string-to-body
- (str args-sym)
- (let ((rt '(concat)) (idx-max 0))
- (loop for i from 0 to 255 do
- (emmet-aif
- (string-match "\\(?:|\\|${\\(?:\\([0-9]\\)\\|\\)\\(?::\\(.+?\\)\\|\\)}\\)" str)
- (destructuring-bind (mat idx def)
- (mapcar (lambda (ref) (match-string ref str)) '(0 1 2))
- (setf rt
- `((or
- (nth ,(let ((cur-idx (if idx (1- (string-to-number idx)) i)))
- (setf idx-max (max cur-idx idx-max)))
- ,args-sym)
- ,(or def ""))
- ,(substring str 0 it) ;; ordered to reverse
- ,@rt))
- (setf str (substring str (+ it (length mat)))))
- ;; don't use nreverse. cause bug in emacs-lisp.
- (return (cons idx-max (reverse (cons str rt)))))))))
+ (str)
+ (if (string-match "^\\([a-z-]+:\\)\\(.+\\)$" str)
+ (emmet-join-string
+ (mapcar (lambda (ref) (match-string ref str)) '(1 2)) " ")
+ str))
+ (split-string-to-body
+ (str args-sym)
+ (let ((rt '(concat)) (idx-max 0))
+ (loop for i from 0 to 255 do
+ (emmet-aif
+ (string-match "\\(?:|\\|${\\(?:\\([0-9]\\)\\|\\)\\(?::\\(.+?\\)\\|\\)}\\)" str)
+ (destructuring-bind (mat idx def)
+ (mapcar (lambda (ref) (match-string ref str)) '(0 1 2))
+ (setf rt
+ `((or
+ (nth ,(let ((cur-idx (if idx (1- (string-to-number idx)) i)))
+ (setf idx-max (max cur-idx idx-max)))
+ ,args-sym)
+ ,(or def ""))
+ ,(substring str 0 it) ;; ordered to reverse
+ ,@rt))
+ (setf str (substring str (+ it (length mat)))))
+ ;; don't use nreverse. cause bug in emacs-lisp.
+ (return (cons idx-max (reverse (cons str rt)))))))))
(let ((args (gensym))
(str (insert-space-between-name-and-body str)))
(destructuring-bind (idx-max . body) (split-string-to-body str args)
- (eval
- `(lambda (&rest ,args)
- (progn
- (when (nthcdr ,idx-max ,args)
- (setf (nthcdr ,idx-max ,args)
- (list (emmet-join-string
- (nthcdr ,idx-max ,args) " "))))
- ,body)))))))
+ (eval
+ `(lambda (&rest ,args)
+ (progn
+ (when (nthcdr ,idx-max ,args)
+ (setf (nthcdr ,idx-max ,args)
+ (list (emmet-join-string
+ (nthcdr ,idx-max ,args) " "))))
+ ,body)))))))
(emmet-defparameter
emmet-vendor-prefixes-properties
@@ -225,47 +225,47 @@
(mapcar
#'(lambda (expr)
(let*
- ((hash-map (if emmet-use-sass-syntax emmet-sass-snippets emmet-css-snippets))
- (basement
- (emmet-aif
- (or (gethash (car expr) hash-map) (gethash (car expr) emmet-css-snippets))
- (let ((set it) (fn nil) (unitlessp nil))
- (if (stringp set)
- (progn
- ;; new pattern
- ;; creating print function
- (setf fn (emmet-css-instantiate-lambda set))
- ;; get unitless or no
- (setf unitlessp
- (not (null (string-match
- emmet-css-unitless-properties-regex set))))
- ;; caching
- (puthash (car expr) (cons fn unitlessp) hash-map))
- (progn
- ;; cache hit.
- (setf fn (car set))
- (setf unitlessp (cdr set))))
- (apply fn
- (mapcar
- #'(lambda (arg)
- (if (listp arg)
- (if unitlessp (car arg)
- (apply #'concat arg))
- arg))
- (cdddr expr))))
- (concat (car expr) ": "
- (emmet-join-string
- (mapcar #'(lambda (arg)
- (if (listp arg) (apply #'concat arg) arg))
- (cdddr expr)) " ")
- ";"))))
+ ((hash-map (if emmet-use-sass-syntax emmet-sass-snippets emmet-css-snippets))
+ (basement
+ (emmet-aif
+ (or (gethash (car expr) hash-map) (gethash (car expr) emmet-css-snippets))
+ (let ((set it) (fn nil) (unitlessp nil))
+ (if (stringp set)
+ (progn
+ ;; new pattern
+ ;; creating print function
+ (setf fn (emmet-css-instantiate-lambda set))
+ ;; get unitless or no
+ (setf unitlessp
+ (not (null (string-match
+ emmet-css-unitless-properties-regex set))))
+ ;; caching
+ (puthash (car expr) (cons fn unitlessp) hash-map))
+ (progn
+ ;; cache hit.
+ (setf fn (car set))
+ (setf unitlessp (cdr set))))
+ (apply fn
+ (mapcar
+ #'(lambda (arg)
+ (if (listp arg)
+ (if unitlessp (car arg)
+ (apply #'concat arg))
+ arg))
+ (cdddr expr))))
+ (concat (car expr) ": "
+ (emmet-join-string
+ (mapcar #'(lambda (arg)
+ (if (listp arg) (apply #'concat arg) arg))
+ (cdddr expr)) " ")
+ ";"))))
(let ((line
(if (caddr expr)
(concat (subseq basement 0 -1) " !important;")
basement)))
- ;; remove trailing semicolon while editing Sass files
- (if (and emmet-use-sass-syntax (equal ";" (subseq line -1)))
- (setq line (subseq line 0 -1)))
+ ;; remove trailing semicolon while editing Sass files
+ (if (and emmet-use-sass-syntax (equal ";" (subseq line -1)))
+ (setq line (subseq line 0 -1)))
(emmet-aif
(cadr expr)
(emmet-css-transform-vendor-prefixes line it)