Fork me on GitHub
#cider
<
2019-05-13
>
bozhidar06:05:16

@ericihli What’s your CIDER version?

Eric Ihli14:05:20

I don’t have that machine available at the moment, but I updated all my melpa packages as one of my first troubleshooting steps, so I have whatever version was latest yesterday.

benedek15:05:56

@bozhidar thinking about AST based solutions vs REPL loaded code solutions for finding references and the like and caching. I know we cache the AST in refactor-nrepl but we could cache results for operations instead. they would still go stale but would be more effective maybe with a smaller footprint. also thinking about used locals for a given form: perhaps building the ast for the enclosing first level form is a small enough task so you don’t need the cache at all

bozhidar16:05:19

For small scale operations I’d just build the AST on the fly. I’d probably also build the AST client-side with parseclj.

benedek16:05:07

that is the elisp analyzer by plexus, right?

benedek16:05:41

i still need to properly dig into that. my only worry would be that we loose the editor agnostic nature

bozhidar16:05:45

True that, but you get a very comfortable API optimized for our editor. 😉

bozhidar16:05:43

Not to mention that this opens up the possibility to do a lot of things with clojure-mode without a REPL connection.

benedek16:05:49

i am sure it is a joy to work with

benedek16:05:18

so would a “static” (non-evaling) analyzer 😉

benedek16:05:32

i am working on a PoC around this — probably mentioned already

gfredericks16:05:52

what does it take for me to "link" a clj buffer to a particular cider repl?

gfredericks16:05:34

back in the day I could eval things in random clojure buffers and it'd run in whatever cider repl happened to be running, and I'd like to get some of that behavior back I think now it wants to only associate things in the same project

dpsutton16:05:54

look at the sesman-link* functions

dpsutton16:05:06

there's buffer, folder, project, etc

gfredericks16:05:00

I got a Wrong type argument: stringp, nil 😂 okay now I'm ready to throw out my old clojure config I think

bozhidar17:05:48

> back in the day I could eval things in random clojure buffers and it’d run in whatever cider repl happened to be running, and I’d like to get some of that behavior back

bozhidar17:05:48

Yeah, currently connections are always associated with some (usually project) context so it’s easier to deal with multiple projects. We’ll likely relax this down the road for the case of a single connection.

gfredericks17:05:40

yeah it seems like a sensible direction to go

gfredericks17:05:22

okay, I cleared basically all of my clojure emacs cfg and still get Wrong type argument: stringp, nil for M-x sesman-link-with-project

gfredericks17:05:14

trying sesman-link-with-directory but I'm not sure how to use it

gfredericks17:05:39

I try to enter the directory where I launched the cider repl, and the minibuffer says [No match]