This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-01-26
Channels
- # announcements (1)
- # asami (7)
- # aws (3)
- # babashka (30)
- # beginners (21)
- # calva (48)
- # cider (11)
- # clj-commons (5)
- # clj-kondo (12)
- # cljdoc (5)
- # cljfx (1)
- # cljs-dev (32)
- # cljsrn (4)
- # clojure (218)
- # clojure-europe (88)
- # clojure-nl (11)
- # clojure-uk (31)
- # clojurescript (8)
- # cursive (98)
- # data-science (6)
- # datomic (49)
- # emacs (12)
- # events (4)
- # fulcro (47)
- # graalvm (3)
- # graphql (4)
- # introduce-yourself (5)
- # java (13)
- # juxt (9)
- # lsp (74)
- # meander (3)
- # membrane (4)
- # missionary (31)
- # off-topic (24)
- # pathom (41)
- # portal (4)
- # reagent (3)
- # releases (1)
- # remote-jobs (3)
- # rewrite-clj (4)
- # shadow-cljs (10)
- # slack-help (2)
- # testing (20)
- # tools-deps (43)
Thanks @lee, I ended up with this:
(defn add-namespace [zloc new-ns insert-loc-fn]
(let [require-loc (-> zloc
(z/find-value z/next 'ns)
(z/find-value z/next :require)
(z/up))
insert-loc (insert-loc-fn require-loc)
n-spaces (-> insert-loc z/node meta :col dec)]
(-> insert-loc
(z/insert-right* (n/newline-node "\n"))
(z/right*)
(z/insert-right* (n/spaces n-spaces))
(z/right*)
(z/insert-right* new-ns))))