Repository navigation
Check servers with what REPLy and neorepl send - #8
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
REPLy's startup code goes in verbatim, all 13 KB of it, since that's what servers get from
lein repl. There's noreply.eval: REPLy's evals carry nothing but the code and the session, whicheval.valuealready sends. neorepl is pinned to its current main, so its profile will need updating as neorepl changes.