|
1 |
| -= Scittle, Nbb, Joyride, and future plain repls |
| 1 | += Scittle, Nbb, Joyride, and future (n)REPLs |
2 | 2 |
|
3 |
| -The default cider (clj-repl) should be capable of connecting to any |
4 |
| -nrepl server that provides minimal functionality. |
| 3 | +== The Problem |
| 4 | + |
| 5 | +CIDER was created in the early days of Clojure where there weren't any |
| 6 | +of the alternative implementation that exist today. This lead to a design |
| 7 | +that relied on knowledge of certain specifics of Clojure internal and |
| 8 | +the Clojure nREPL server. |
| 9 | + |
| 10 | +Later, with the introduction of ClojureScript we made another set |
| 11 | +of assumptions, related to the way hosted ClojureScript works. (e.g. that |
| 12 | +you start with an ordinary Clojure REPL that gets "upgraded" to a |
| 13 | +ClojureScript REPL by the invocation of a special form) |
| 14 | + |
| 15 | +Lately we've been working to address this and |
| 16 | +make CIDER more runtime-agnostic. |
| 17 | + |
| 18 | +== The Solution |
| 19 | + |
| 20 | +As of CIDER 1.3, the default CIDER connection command `cider-connect-clj` is |
| 21 | +capable of connecting to any nREPL server that provides minimal required |
| 22 | +functionality. |
5 | 23 |
|
6 | 24 | As such, all of these work:
|
7 | 25 | https://github.com/babashka/nbb[nbb],
|
8 | 26 | https://github.com/babashka/scittle[scittle], https://github.com/BetterThanTomorrow/joyride[joyride]
|
9 | 27 |
|
10 |
| -First start an nrepl server (the project's Readme usually has a section |
11 |
| -on starting a nrepl server). |
| 28 | +First start an nREPL server (the project's Readme usually has a section |
| 29 | +on starting a nREPL server). |
12 | 30 |
|
13 | 31 | You can use
|
14 | 32 |
|
15 | 33 | kbd:[M-x `cider-connect-clj` <RET>]
|
16 | 34 |
|
17 |
| -to connect to any plain Clojure(Script) nrepl server. |
| 35 | +to connect to any Clojure(Script) nREPL server. |
18 | 36 |
|
19 | 37 | Features:
|
20 | 38 |
|
21 | 39 | * Eval, load file etc.
|
22 | 40 | * Errors as overlays. (The default cider error buffer is not implemented currently).
|
23 |
| -* Other nrepl features the server provides; This might be rather minimal. |
| 41 | +* Other nREPL features the server provides; This might be rather minimal. |
24 | 42 |
|
25 | 43 | Nbb, Scittle and Joyride all have quite cool completions already.
|
26 | 44 |
|
27 |
| -== Note |
28 |
| - |
29 |
| -For nbb you can alternatively connect via cljs, see xref:platform/nbb.adoc[Nbb] |
| 45 | +NOTE: For nbb you can alternatively connect via cljs, see xref:platform/nbb.adoc[Nbb] |
0 commit comments