Skip to content

Check servers with what REPLy and neorepl send - #8

Merged
bbatsov merged 2 commits into
mainfrom
reply-neorepl-profiles
Oct 10, 2026
Merged

bbatsov merged 2 commits into
mainfrom
reply-neorepl-profiles

Conversation

@bbatsov

@bbatsov bbatsov commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

REPLy's startup code goes in verbatim, all 13 KB of it, since that's what servers get from lein repl. There's no reply.eval: REPLy's evals carry nothing but the code and the session, which eval.value already sends. neorepl is pinned to its current main, so its profile will need updating as neorepl changes.

0.6.0 is tagged but was never published, and Leiningen 2.11 still runs
0.5.1. Its nrepl.clj is the same as 0.6.0's. The link for REPLy stopping
at an error status now covers all of end-of-stream?, instead of
starting two lines early and missing where it stops.
REPLy clones a session for its REPL and one for completion, evaluates a
set! in the completion session, sends its startup code and then an empty
eval, and waits for each of them without a timeout. reply.connect sends
the same, recorded from REPLy 0.5.1 with proof proxy -record. REPLy's
evals carry nothing but the code and the session, so eval.value already
covers them. It files every reply by its session and stops reading
replies at one without a session it knows, which wire.session-echo now
says.

neorepl asks for describe, clones a session and asks for describe again
in it before its first prompt, and evaluates with options for nREPL's
pretty printer.

The fake server gets a quirk for an eval of empty code that never gets a
reply, since only reply.connect catches it. Every server in the matrix
passes the new checks.
@bbatsov
bbatsov merged commit fb45d65 into main Oct 10, 2026
4 checks passed
@bbatsov
bbatsov deleted the reply-neorepl-profiles branch October 10, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant