Fork me on GitHub
#cider
<
2023-10-19
>
Karl Xaver07:10:03

I want to set up a clean env to hack on cider "reproducibly". First attempt was just cloning the repo and using a minimal init.el with

(setq load-prefer-newer t)
(use-package cider
  :load-path "~/contrib/cider"
  :demand t)
Though this will complain about Error (use-package): cider/:catch: Cannot open load file: No such file or directory, parseedn Before I go any further: should I just add all the packages that are required manually like above, or am I on the wrong path entirely? Any further advice/resources are highly appreciated, e.g. on • possible pitfalls, like stale [native?]compiled files • testing against multiple emacs versions

vemv07:10:16

Probably that approach is workable, but a more standard and enjoyable one would be to make cider a git submodule (or git clone) within your usual .emacs.d i.e. cider wouldn't be your root thing, but instead just another lib On non-hack days you would make the repo point at the latest tag (or master). On hack days, you branch out

vemv07:10:52

Personally I use bare submodules, although https://github.com/radian-software/straight.el is surely more enjoyable

vemv07:10:39

> testing against multiple emacs versions I wouldn't care about that a lot, we have a CI matrix. But yeah it's possible! https://github.com/clojure-emacs/cider/blob/f85d5c17043a430d0bb730c6637fba52f5a7f94f/Makefile#L6 Normally I run make (default task) before any commit and most relevant tests/linting would be run. Happy hacking!

jrychter08:10:54

Just wanted to thank the team (especially @vemv) for the latest releases: they fixed the indentation issues I ran into a while back! Thanks! ❤️

🍻 4
vemv08:10:04

Thanks to you! Curious, were you using clojurescript? Because that one has a funny story behind

jrychter08:10:07

Yes, my app is Clojure+ClojureScript (a lot of both).

vemv08:10:30

On ClojureScript, repl detection used to be wrong (it was detected as a clj repl, at times), so fixing that broke indentation The fix was using the clojurescript analyzer info more comprehensively. Sometimes things have go get worse before they get improved 🌀

1
jrychter08:10:18

Well, thanks for looking into it, despite the very limited info I provided. I'm thinking about how to avoid disruption in the future, though — when CIDER breaks, my work essentially stops. This indentation problem meant I couldn't commit changes, for example. And Emacs doesn't make it easy to downgrade MELPA packages.

👍 1
vemv08:10:52

In an ideal world we would have a fantastic test suite. We currently have a just-fine one. Everyone deserves stability, so a good measure if you cannot afford 'downtime' so to speak would be to use Git-based lib management (e.g. https://github.com/radian-software/straight.el) instead of package-based. Personally I use a mixture of MELPA (most stuff) and bare git submodules (critical bits). I've had it like that for 10+y and it's fanstatic - my Emacs is the one place in my laptop that never randomly breaks :)

jrychter08:10:57

That's a good suggestion, thanks! I'll look into it.

danielneal08:10:52

I also want to thank whoever elucidated why I was getting No comment syntax defined all the time. I’ve unbound comment-line now, too, so hopefully I’m not going to trip up on that while bumbling around emacs

vemv08:10:56

@U01320BR6US found it and we got it in here https://github.com/clojure-emacs/cider/pull/3538 (cider + clojure-mode)

danielneal08:10:35

That was driving me crazy!

vemv10:10:11

We're working on these https://github.com/clojure-emacs/cider/labels/inspector , if there's anything else you'd like to see in the Inspector, this is your chance shipit

❤️ 1
vemv10:10:50

Good one - added!

catjam 1
Carsten Behring17:10:38

I suppose that the tapping of values from the inspector is in your pipeline already. See my PR here https://github.com/clojure-emacs/cider-nrepl/pull/824 which implements the nrepl side of it.

vemv17:10:58

Yes, I should get to it!

danielneal16:10:52

Having the inspector as a tap target would be cool, if that’s not already on the list.

danielneal16:10:10

Like a cider portal

vemv16:10:45

Yes, we have https://github.com/clojure-emacs/cider/issues/3055 it's possible to quickly hack something locally as described in OP. I've been using something like that, for a few weeks. The main challenge is making it truly 'production ready'

danielneal16:10:10

Oh cooll!! Glad to see you’re thinking about this

danielneal16:10:26

Yeah makes sense the last 5% is always 95% of the work 😄

😁 1