Rail
A generic NREPL client for Emacs, based on monroe
Install / Use
/learn @Sasanidas/RailREADME
#+html: <p align="left"><img src="img/logo.png" width="200"/></p>
- Rail - Generic nREPL client for Emacs [[https://img.shields.io/badge/license-GPL_3-green.svg]] [[https://github.com/Sasanidas/Rail/actions/workflows/main.yml/badge.svg]]
Rail is a client [[https://github.com/nrepl/nrepl][nREPL]] implementation base on [[https://github.com/sanel/monroe][monroe]], with similar features but aims to be a more complete implementation.
If you want the simpler version, monroe is the way to go.
Rail's main goal is to implement a client that is not bound in any way to Clojure, following the [[https://nrepl.org/nrepl/1.0/ops.html][supported operations]], which are language agnostic.
This doesn't mean that it cannot be used for Clojure projects, this project understands that the "default" language is and probably will be Clojure, so if no language is specified, some specific to Clojure assumptions will be made (but I'll try to keep these to a minimum).
** Installation
*** Manual Rail doesn't have any external dependencies, so if you are using Emacs 26.2+ you should be good to go, just add the files of the project to the [[https://www.emacswiki.org/emacs/LoadPath][load-path]] and require the package: #+BEGIN_SRC emacs-lisp (require 'rail) #+END_SRC
** Usage To start a nREPL session, make sure to have a server properly initialize and then use ~M-x rail~ and write the ip and port (eg: "localhost:8983")
A REPL will then be pop on the side and you can start typing.
** Supported operations
- clone
- describe
- interrupt
- ls-sessions
- eval
- load-file
- completions
- lookup
One of the major features TODO is the support for middlewares, for more information on the operations [[https://nrepl.org/nrepl/1.0/ops.html][here]].
** Documentation For now, this project has no official documentation, you can check the test folder on how the tests are being launched using the server [[https://codeberg.org/sasanidas/nrepl-python.git][nrepl-python]] and [[https://leiningen.org/][lein]] headless repl.
** Bug reports & patches
Feel free to report any issues you find or if you have suggestions for improvements.
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
