From 9c588f68c24b5f514ae9584afcccf0dbe36b33fd Mon Sep 17 00:00:00 2001 From: Noah Bogart Date: Wed, 23 Oct 2024 14:53:41 -0400 Subject: [PATCH 1/2] clj-kondo: lint defstate as atom --- .../mount/mount/hooks/defstate.clj | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/resources/clj-kondo.exports/mount/mount/hooks/defstate.clj b/resources/clj-kondo.exports/mount/mount/hooks/defstate.clj index 16a4e8f..1b261db 100644 --- a/resources/clj-kondo.exports/mount/mount/hooks/defstate.clj +++ b/resources/clj-kondo.exports/mount/mount/hooks/defstate.clj @@ -32,10 +32,12 @@ :col (:col (meta n))}) :else {:node (api/list-node - (list - (api/token-node 'def) - n - (api/list-node - (list* - (api/token-node 'do) - args))))}))) + (list + (api/token-node 'def) + n + (api/list-node + [(api/token-node 'atom) + (api/list-node + (list* + (api/token-node 'do) + args))])))}))) From ccaf99910c40c11896083b1747154ba1c915c229 Mon Sep 17 00:00:00 2001 From: Noah Bogart Date: Wed, 23 Oct 2024 15:04:26 -0400 Subject: [PATCH 2/2] clj-kondo: Fix docstrings --- .../mount/mount/hooks/defstate.clj | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/resources/clj-kondo.exports/mount/mount/hooks/defstate.clj b/resources/clj-kondo.exports/mount/mount/hooks/defstate.clj index 1b261db..72b6d9b 100644 --- a/resources/clj-kondo.exports/mount/mount/hooks/defstate.clj +++ b/resources/clj-kondo.exports/mount/mount/hooks/defstate.clj @@ -1,12 +1,11 @@ (ns hooks.defstate (:require [clj-kondo.hooks-api :as api])) -(defn defstate [{:keys [:node]}] - (let [args (rest (:children node)) - args (if (string? (api/sexpr (first args))) - (next args) - args) - [n & args] args +(defn defstate [{:keys [node]}] + (let [[n & args] (next (:children node)) + [docs args] (if (string? (api/sexpr (first args))) + [(first args) (next args)] + [nil args]) m (when-let [m (first (:meta n))] (api/sexpr m)) m (if (map? m) m {}) @@ -32,12 +31,11 @@ :col (:col (meta n))}) :else {:node (api/list-node - (list - (api/token-node 'def) - n - (api/list-node - [(api/token-node 'atom) - (api/list-node - (list* - (api/token-node 'do) - args))])))}))) + (cond-> [(api/token-node 'def) n] + docs (conj docs) + true (conj (api/list-node + [(api/token-node 'atom) + (api/list-node + (list* + (api/token-node 'do) + args))]))))})))