From 7b466c9b862b5a5aa42b0df246a31dbb03980e90 Mon Sep 17 00:00:00 2001 From: bryan Date: Wed, 27 May 2026 12:23:43 -0600 Subject: [PATCH] Add clj-surgeon config (#74855) --- .clj-surgeon.edn | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .clj-surgeon.edn diff --git a/.clj-surgeon.edn b/.clj-surgeon.edn new file mode 100644 index 00000000000..abca358caf2 --- /dev/null +++ b/.clj-surgeon.edn @@ -0,0 +1,27 @@ +{:aliases + {;; defendpoint shape: (api.macros/defendpoint METHOD URL DOCSTRING? [args] body) + ;; No name slot — synthesize :route [METHOD "path"] from first 2 args. + "defendpoint" + {:fields {:method (fn [z] (some-> z z/down z/right z/sexpr name str/upper-case)) + :path (fn [z] (-> z z/down z/right z/right z/sexpr))}} + + ;; defenterprise shape: + ;; (defenterprise NAME DOCSTRING? EE-NAMESPACE [args] body) + "defenterprise" + {:fields {:name ->defn-name + :ee-namespace (fn [z] + ;; Skip name + optional docstring; the next + ;; symbol is the EE namespace. + (let [name-z (-> z z/down z/right) + after-doc (z/right name-z) + candidate (if (string? (try (z/sexpr after-doc) + (catch Exception _ nil))) + (z/right after-doc) + after-doc)] + (try (let [v (z/sexpr candidate)] + (when (symbol? v) v)) + (catch Exception _ nil)))) + :arglist ->defn-arg-list}} + + "defsetting" + {:fields {:name ->defn-name}}}}