This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-09-16
Channels
- # announcements (19)
- # babashka (13)
- # beginners (7)
- # calva (8)
- # cider (25)
- # clj-kondo (12)
- # cljsrn (7)
- # clojure (60)
- # clojure-australia (5)
- # clojure-europe (59)
- # clojure-france (14)
- # clojure-gamedev (2)
- # clojure-nl (1)
- # clojure-uk (7)
- # clojurescript (43)
- # community-development (8)
- # core-async (2)
- # cursive (15)
- # datomic (75)
- # deps-new (31)
- # depstar (1)
- # fulcro (6)
- # graalvm (53)
- # holy-lambda (1)
- # juxt (3)
- # jvm (13)
- # kaocha (8)
- # lsp (109)
- # malli (14)
- # off-topic (62)
- # pathom (11)
- # pedestal (12)
- # polylith (12)
- # releases (5)
- # sci (5)
- # shadow-cljs (15)
- # sql (16)
- # tools-deps (27)
- # vim (1)
- # xtdb (14)
You mean without going to the file? Not really in any way. Even if you used some kind of a watch process, you would need to go to the file to save it. But why would you need to re-evaluate it, if it hasn't changed? Or how can it changed, without going there with the editor? Something external changing it?
I'm using calva and i jack-in to leiningen then evaluate this snippet to get my app running
(do
(init-logger db log-file-name)
(def srvr (atom (jetty/run-jetty #'app {:port 8778 :join? false}))))
Once its running any change i make does not take effect till i re-evaluate #'app
which as you rightly noted is in another file. So i keep hopping back and forth.Well, you have a multi file dependency path. The options either are that you manually go re-evaluate the dependency chain, you restart the repl, or you automate the re-evaluation
https://github.com/weavejester/reloaded.repl and similar are systems that watch for changes, and can see which namespaces depend on the file that change, and recursively reload them all
There are custom commands as well. https://calva.io/custom-commands/