Web UI part of the REPL-REPL
shared REPL. You use it to enter forms and see the results of evaluation. You can also watch your friends editing in real-time and share their REPL evaluations.
The technical implementation is a re-frame based Single Page Application (SPA).
- Multi-user REPL connectivity
- Authenticated server access
- Real-time keystrokes from all connected users
- Watch / hide visibility control
- Parinfer integration
- Colorised edits / output
- Show matching / balancing parens
- Code completion / suggestions
- Expose function documentation
- Shared REPL state
- Shared, accessible history
- Friendly exceptions
- Incremental feedback on long running REPL evaluations
- Cancel long running REPL evaluations
- Add a library on demand (Maven & Git SHAs)
- Secure REPtiLe server connection
- Live reloadable client code
- Live reloadable server code
- Choice of editor key mappings
- Automatic editor visibility based on activity
- OpenID Connect Services eg GitHub / Slack
clojure -A:fig:repl
The location of the back-end server is configurable.
The name of the server can be set in the min.cljs.edn
by changing repl.repl.ziggy.config/TAIL_SERVER
Please also checkout the REPtiLE configuration options
Add some entries to the aliases
section of ~/.clojure/deps.edn
similar to these:
:aliases {
:body/local {:override-deps {repl-body {:local/root "/Users/your-name/dev/repl-house/body"}}}
:body/path {:extra-paths ["/Users/your-name/dev/repl-house/body/dev"]}
}
And then run it from the command line:
clj -A:fig:dev:body/local:body/path
clojure -A:fig:min
AWS S3 buckets can be configured to host web sites and thus be used to serve the UI.
The s3-publish.sh
script is provided for building the code and syncing with an S3 bucket.
The script will also invalidate any configured CloudFront distribution.
Copyright © 2019 Ray McDermott