Clojure/ClojureScript development environment for Zed editor using rebel-readline and Portal.
Early draft — works but rough around the edges.
- Rebel REPL with syntax highlighting, completion, and inline docs
- Eval from editor — results appear in REPL via
tap> - ClojureScript support — shadow-cljs with persistent sessions
- Portal integration — visual data inspector
git clone https://github.com/piotrklibert/zed-clojure-repl ~/.zed-clojure-repl
~/.zed-clojure-repl/install.sh| Key | Action |
|---|---|
Ctrl+C Ctrl+R |
Start Rebel REPL |
Ctrl+X Ctrl+E |
Eval selection |
Ctrl+C Ctrl+C |
Eval form at point |
Ctrl+C Ctrl+K |
Eval buffer |
Ctrl+C Ctrl+D |
Show documentation |
Ctrl+C Ctrl+O |
Start Portal |
| Key | Action |
|---|---|
Ctrl+C Ctrl+B |
Start shadow-cljs watch |
Ctrl+C Ctrl+J |
Start Rebel REPL (for viewing results) |
Ctrl+C Ctrl+L |
Init ClojureScript session |
Ctrl+X Ctrl+D |
Eval selection |
Ctrl+C Ctrl+B— Start shadow-cljs watch- Open your app in browser (connects JS runtime)
Ctrl+C Ctrl+J— Start Rebel REPL (to see eval results via tap>)Ctrl+C Ctrl+L— Init ClojureScript session (enter build id, e.g.,game)Ctrl+X Ctrl+D— Eval code (results appear in Rebel)
The build id is saved to .zed-repl for future use:
cljs-build=game
- Clojure: Rebel REPL starts embedded nREPL. Evals from Zed go through nREPL and appear in REPL via
tap>. - ClojureScript:
- Rebel connects to shadow-cljs nREPL and listens for
tap> cljs-init.shcreates a separate session, switches to CLJS REPL- Evals from Zed use this session and send results via
tap>to Rebel
- Rebel connects to shadow-cljs nREPL and listens for
- Clojure CLI (
clojure) - For ClojureScript:
shadow-cljsin project nc(netcat) for port checking
~/.zed-clojure-repl/uninstall.sh