The process the Python glue talks to: ONE JSON object per line in, one out.
A project gets these tools by running this namespace with the Clojure CLI —
clojure -Sdeps '{:deps {com.blockether/vis-lang-clojure {:mvn/version "1.0.2"}}}' \
-M -m com.blockether.vis.lang.clojure.cli
— and keeping the process alive: managed nREPLs are ITS children, so a REPL started by one call is still there for the next one. Requests are answered in order, and EOF on stdin ends the run after stopping every REPL it started.
Request: {"id": "7", "verb": "format", "root": "/proj", "session": "s1", "arg": …} Answer: {"id": "7", "ok": true, "result": …} {"id": "7", "ok": false, "error": {"message": …, "hint": …}}
Verbs: format, lint, test, repl-eval, repl (with op), ping.
The process the Python glue talks to: ONE JSON object per line in, one out.
A project gets these tools by running this namespace with the Clojure CLI —
clojure -Sdeps '{:deps {com.blockether/vis-lang-clojure {:mvn/version "1.0.2"}}}' \
-M -m com.blockether.vis.lang.clojure.cli
— and keeping the process alive: managed nREPLs are ITS children, so a REPL
started by one call is still there for the next one. Requests are answered in
order, and EOF on stdin ends the run after stopping every REPL it started.
Request: {"id": "7", "verb": "format", "root": "/proj", "session": "s1", "arg": …}
Answer: {"id": "7", "ok": true, "result": …}
{"id": "7", "ok": false, "error": {"message": …, "hint": …}}
Verbs: `format`, `lint`, `test`, `repl-eval`, `repl` (with `op`), `ping`.(-main & _args)Serve requests from stdin until it closes.
Serve requests from stdin until it closes.
(handle request)Run ONE request and answer it. Total: a thrown exception is an answer too, so a bad argument never takes the process down with the request that made it.
Run ONE request and answer it. Total: a thrown exception is an answer too, so a bad argument never takes the process down with the request that made it.
(stop-repls!)Stop every managed nREPL this process started, and detach every external one it attached. Called on the way out, so a client that goes away does not leave JVMs behind.
Stop every managed nREPL this process started, and detach every external one it attached. Called on the way out, so a client that goes away does not leave JVMs behind.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |