This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # announcements (37)
- # babashka (28)
- # beginners (104)
- # calva (28)
- # cider (32)
- # clj-kondo (35)
- # cljs-dev (4)
- # cljsrn (3)
- # clojure (35)
- # clojure-conj (4)
- # clojure-dev (57)
- # clojure-europe (4)
- # clojure-france (6)
- # clojure-gamedev (1)
- # clojure-germany (1)
- # clojure-hamburg (2)
- # clojure-italy (7)
- # clojure-nl (4)
- # clojure-spec (9)
- # clojure-uk (11)
- # clojuredesign-podcast (2)
- # clojurescript (36)
- # clojurex (48)
- # core-async (6)
- # cursive (12)
- # data-science (1)
- # datomic (21)
- # defnpodcast (7)
- # duct (1)
- # events (1)
- # fulcro (56)
- # graalvm (30)
- # graphql (5)
- # jobs (1)
- # joker (21)
- # keechma (1)
- # leiningen (4)
- # off-topic (109)
- # parinfer (20)
- # pathom (27)
- # re-frame (4)
- # shadow-cljs (80)
- # spacemacs (18)
- # sql (32)
- # testing (2)
- # tools-deps (32)
- # vim (20)
I found a possibly connected issue. After I jack in, at some point CIDER send
artifact-list message which gets back a loooooot of stuff. Emacs becomes completely very slow after that. I assume this is related to https://github.com/clojure-emacs/refactor-nrepl/pull/268, but why does this happen unprompted (I'm not using add-dependency or anything)?
cider used to add a proper namespace when creating files through projectile, but it does not do that anymore. How can I turn that behavior back on?
clj-refactor.el, not CIDER. I’ve never used it, that’s why I also never notice issues with it.
@achikin CIDER never added
ns forms to empty source files. I think this is something that
@bozhidar probably I had it in lein profiles on previous machine... does refactor work for clojurescript?
I figured as much. It used to be enabled by default in Spacemacs, but a lot of newcomers were very confused by some of the problems they’d encounter when it’s on (e.g. something like the issue @alexyakushev mentioned), and it was often out of sync with CIDER, so in the end we decided it was best to disable it by default. If someone needs it they’ll know how to enable it.
@bozhidar I found a flag to disable clj-refactor artifact fetching, and it became slightly better. However, I still see occsaionally that
track-state is responsible for 50% of what my application is doing. Can I disable it somehow?
Currently you can’t - if you disable it dynamic font-locking would stop working, and so will the tracking of the REPL type.
I’m guessing the issue is the ns state that can be quite big in some cases, so potentially we can drop only it.
But I really wonder what has changed for you, as the
track-state middleware has been almost the same since its initial version 5 years ago.
I will try to monkey-patch the function to disable it. Dynamic font-locking is not so important when every REPL command takes 5 seconds.
currently my cljs workflow is to
lein repl in a terminal, then within emacs, to
cider-connect, and in the repl that appears,
(use 'figwheel-sidecar.repl-api) and then
(start-fighwheel!), followed by
(start-repl) to get a cljs repl; at this point I've completely lost track of what I've done to my system and environment to make that all work (although a, say,
'lein new luminus <appname> works out of the box for those commands); my question is what I need to do differently in that workflow to get shadow-cljs to work, and also if I should be doing something different to use figwheel-main, the benefits of which I'm still unaware (but very possibly would like); I realize I should rtfm, but in trying to do that I am a bit confused now about the options and permutations between figwheel and shadow-cljs.
if i were you i would just set up a shadow-cljs project. and learn how to use the repl from the command line
@dpsutton sounds good (and you had told me that in the past!)... I actually did that so that works, and I'll carry forward with that approach...
although I guess I've always felt a bit enhanced by having my lein repl separate from my running emacs so that I can restart emacs and reconnect to a running
lein repl, much like I prefer tmux or screen to just a terminal... but I really don't hardly restart emacs, so it's a bit of a moot point.
and reading 'Hard CIDER: Understanding the Jack-in Process' now to understand it all more.
no matter what, these tools are all awesome, something I continually reflect on.
sure. if you choose to go the route of starting from the command line, look at what command CIDER issues and then just run that exact command from the command line. In fact, a nice addition to CIDER would be for it to generate and put that in the kill ring for you
You can also use the prefix argument
C-u M-x cider-jack-in-cljs (or equivalently
C-u C-c M-J) and cider will let you see and edit the command it’s using to launch the repl.