Fork me on GitHub
#cider
<
2017-01-21
>
bozhidar02:01:53

@jfntn Yeah, Issue 228 is indeed related. I'm relatively certain that the current REPL can be tuned to handle better large text as SLIME definitely worked better in such situations. As for comint - after some consideration probably trying to use it doesn't make sense and we'd be better off trying to polish and extend our custom REPL instead.

jfntn03:01:49

@bozhidar indeed I looked at comint and it is designed to work directly with a process, it’s not clear how that would work with the callback-based nrepl client

bozhidar04:01:50

well, sly and geiser somehow did it, so I guess it's doable

bozhidar04:01:20

originally we just copied to the SLIME REPL code to cider with some small adjustments here and there

bozhidar04:01:40

much of the original codebase was copy-pasted slime code that we tuned in time

bozhidar04:01:03

the repl part of the code didn't really evolve much as there was always this idea to try to use comint

bozhidar04:01:33

while it's designed mostly to wrap a local repl process it can be used to power a "network" repl for sure

bozhidar04:01:52

if I recall this was actually my inspiration to consider switching to comint

bozhidar04:01:27

few years ago I had way more free time and I was bold with my ideas, lately I've been way more modest 🙂

jfntn04:01:54

My understanding of both comint and cider’s internals is pretty limited, but from what I gather it’d require some non-trivial changes to the nrepl client as well

bozhidar05:01:12

I don't think so - that's some low-level communication stuff. Basically the biggest change would be attaching the network connection process to comint (as opposed to our custom REPL buffer right now).

bozhidar05:01:53

I need some testers for a new completion mechanism we're working on - see https://github.com/clojure-emacs/cider/pull/1910 and comment there if it works as expected for you (or doesn't work for some reason)

qqq07:01:04

@bozhidar : I have lost track of the # of hours I have spent configuring cider. Where can I send you the bill?

qqq07:01:39

https://www.youtube.com/watch?v=8wLwbpCxRf0 <-- this was an amazingly insightful talk; is there a list of recommended screencasts of pros working in cider? I'm thinking something similar to http://www.parens-of-the-dead.com/ , but dedicated to showcasing cider features.

bozhidar16:01:14

@qqq I don't think there are many such resources. @malabarba and me planned to work on some screencasts, but we never actually found time for them.

malabarba17:01:25

I actually got to record one, but ran out of time while editing the video/audio

malabarba17:01:39

Anyway, it's already outdated by now

dpsutton20:01:27

does anyone know what cider-tooling-eval is used for?

dpsutton20:01:48

as far aas i can tell this is the only deviation from the bijection of session and connection

dpsutton20:01:01

so now it seems that there are exactly two session ids per each connectoin

dpsutton20:01:08

funny how you can seemingly learn so much and then find this stuff

dpsutton21:01:28

(defun cider-close-nrepl-session ()
      "Close an nREPL session for the current connection."
      (interactive)
      (cider-ensure-connected)
      (let ((selected-session (completing-read "Close nREPL session: " (nrepl-sessions (cider-current-connection)))))
        (when selected-session
          (nrepl-sync-request:close (cider-current-connection) selected-session)
          (message "Closed nREPL session %s" selected-session))))

dpsutton21:01:40

what does this do?

dpsutton21:01:06

as far as i can tell, there are two sessions (and two sessions only) per connection, the standard one and the tooling session

dpsutton21:01:13

why would you close one and leave the other open?

dpsutton21:01:35

shouldn't this just close both sessions?