mirror of
https://github.com/penpot/penpot.git
synced 2025-08-07 14:38:33 +02:00
📎 Improve clj-kondo hook impl for defservice
This commit is contained in:
parent
333e1d32a2
commit
b4ad907c73
1 changed files with 32 additions and 19 deletions
|
@ -53,24 +53,37 @@
|
||||||
[{:keys [:node]}]
|
[{:keys [:node]}]
|
||||||
(let [[rnode rtype ?meta & other] (:children node)
|
(let [[rnode rtype ?meta & other] (:children node)
|
||||||
rsym (gensym (name (:k rtype)))
|
rsym (gensym (name (:k rtype)))
|
||||||
result (api/list-node
|
|
||||||
[(api/token-node (symbol "do"))
|
[?docs other] (if (api/string-node? ?meta)
|
||||||
|
[?meta other]
|
||||||
|
[nil (cons ?meta other)])
|
||||||
|
|
||||||
|
[?meta other] (let [?meta (first other)]
|
||||||
|
(if (api/map-node? ?meta)
|
||||||
|
[?meta (rest other)]
|
||||||
|
[nil other]))
|
||||||
|
|
||||||
|
nodes [(api/token-node (symbol "do"))
|
||||||
(api/list-node
|
(api/list-node
|
||||||
[(api/token-node (symbol "declare"))
|
[(api/token-node (symbol "declare"))
|
||||||
(api/token-node rsym)])
|
(api/token-node rsym)])
|
||||||
(if (= :map (:tag ?meta))
|
|
||||||
|
(when ?docs
|
||||||
|
(api/list-node
|
||||||
|
[(api/token-node (symbol "comment")) ?docs]))
|
||||||
|
|
||||||
|
(when ?meta
|
||||||
(api/list-node
|
(api/list-node
|
||||||
[(api/token-node (symbol "reset-meta!"))
|
[(api/token-node (symbol "reset-meta!"))
|
||||||
(api/token-node rsym)
|
(api/token-node rsym)
|
||||||
?meta])
|
?meta]))
|
||||||
(api/list-node
|
|
||||||
[(api/token-node (symbol "comment"))
|
|
||||||
(api/token-node rsym)]))
|
|
||||||
(api/list-node
|
(api/list-node
|
||||||
(into [(api/token-node (symbol "defmethod"))
|
(into [(api/token-node (symbol "defmethod"))
|
||||||
(api/token-node rsym)
|
(api/token-node rsym)
|
||||||
rtype]
|
rtype]
|
||||||
(cons ?meta other)))])]
|
other))]
|
||||||
;; (prn "==============" rtype (into {} ?meta))
|
result (api/list-node (filterv some? nodes))]
|
||||||
|
|
||||||
|
;; (prn "=====>" rtype)
|
||||||
;; (prn (api/sexpr result))
|
;; (prn (api/sexpr result))
|
||||||
{:node result}))
|
{:node result}))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue