Fork me on GitHub
#cider
<
2017-12-19
>
dpsutton04:12:39

big big appreciation for the simple change in the repl to quickly include the repl utilities. Hitting , in the repl brings up that handy menu and require-repl-utils is outstanding!

dpsutton04:12:47

big ups for such a small simple change

jmayaalv12:12:39

didnt’ know about this! cool!!!

drewverlee15:12:24

Someone should do a quick and dirty Cider Emacs/spacemacs video on how they develop with clojure. I’m always worried im missing helpful features because i dont know what i dont have 🙂 Of course, there are probably 10 of them out there i haven’t watched…

daveliepmann18:12:50

It's not a screencast, but several folks are doing precisely that (for CIDER as well as other tools) over on ClojureVerse: https://clojureverse.org/t/share-the-nitty-gritty-details-of-your-clojure-workflow/1208 Lots to learn! 😄

benedek16:12:43

@drewverlee @magnars zombie themed game development is exactly that http://www.parens-of-the-dead.com

benedek16:12:12

probably not the most up to date but still an eye opener

bozhidar18:12:24

Not sure if you’ve seen this one, but it covers a lot of ground.

dominicm21:12:26

@bozhidar I just tested the xref.clj code, it works verbatim fwiw. But I don't really see the value given that it works on a symbol not a var for cross-referencing.

dominicm21:12:38

I got different sets of results for clojure.core/map and map, for example.

dominicm21:12:46

I guess I'm questioning the purpose of the code, before I go any further.

bozhidar21:12:12

@dominicm I’m not saying there’s not room for improvement there. 🙂 Ideally potential matches should be resolved to make sure they are really the var you’re looking for, but that’s relatively easy to do.

bozhidar21:12:11

I think this would solve the problem you’ve observed.

dominicm21:12:18

It does, although input becomes harder for clients.

dominicm21:12:23

Not sure that's a problem though

dominicm21:12:54

Falls over for shadowing of course 😕

dpsutton21:12:15

can anyone try cider-browse-ns ? i'm not sure its working right now

dominicm21:12:23

e.g. #'clojure.core/ns is shadowed in #'clojure.core/keyword with it's ns parameter.

bozhidar21:12:52

@dpsutton It works for me. What problem are you experiencing?

dpsutton21:12:25

Not an nREPL dict

bozhidar21:12:45

> It does, although input becomes harder for clients. Isn’t the input always a var? Not sure how it becomes harder for clients.

dpsutton21:12:47

(cider-sync-request:ns-vars-with-meta namespace) is coming back nil

bozhidar21:12:20

I don’t recall any changes recent changes there.

dpsutton21:12:21

i'll check it tonight. just wondering if it was me or in general. i think someone did some work on the nrepl side recently, but also i may not have restarted emacs since pulling

dpsutton21:12:33

oh i thought the resources listing stuff was changed

dpsutton21:12:41

but i didn't follow along closely. might be unrelated

bozhidar21:12:49

@dominicm worked on some things, but nothing related.

dpsutton21:12:59

ok. i'll dig later. thanks for confirming it is working

bozhidar21:12:56

> e.g. #'clojure.core/ns is shadowed in #'clojure.core/keyword with it’s ns parameter.

bozhidar21:12:23

Yeah, that’s true, but few things are ideal and I’m happy to settle for something that’s useful. 🙂

bozhidar21:12:39

To deal properly with locals we need to parse the code and even then, there would be some potential for mistakes.

dominicm21:12:03

At that point, we're building what refactor-nrepl does already 😄

dominicm21:12:17

Why is it that you want this over what refactor-nrepl offers?

bozhidar21:12:36

Because building the AST for the project is ridiculously slow and you have to keep rebuilding it after changes for each file.

dominicm21:12:19

How slow is ridiculously slow?

bozhidar21:12:04

Depends on how big the project is. It was slow enough to decide I don’t want anything related to parsing code in CIDER itself.

bozhidar21:12:20

Don’t recall the exact details.

bozhidar21:12:40

And I seem to recall there were a ton of bugs related to the parser, at least in the early days.

bozhidar21:12:31

I’ve always liked the simplicity of relying on just the application state - felt very Lispy to me.

dominicm21:12:40

It just occurred to me that I do recall seeing a 2 minute AST on a project in the past. We've not reached that scale on my current project yet though.

dominicm22:12:56

The xref code would need some tweaking to integrate the locations where the match was found

bozhidar22:12:00

And maybe a bit of general cleanup. 😄 I seem to recall it was written in the era of Clojure 1.2 or something like this.

dominicm22:12:31

yeah, it didn't read idiomatic at all