freakhill / Rail

A generic NREPL client for Emacs, based on monroe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 an client nREPL implementation base on monroe, with similar features but more aims to be a more complete implementation.

If you want the simpler version, monroe is the way to go.

Rail main goal is to implement a client that is not bound in any way to Clojure, following the supported operations, which are language agnostic.

This doesn’t mean that it cannot be used in Clojure, the projects understand that the “default” language is and probably will be Clojure, so if no language is specify, some Clojureto specific assumtions will be made (but I’ll try to keep these at minimun).

Installation

Manual

Rail doesn’t have any external depency, so if you are using Emacs 26.2+ you should be good to go, just add the files of the project to the load-path and require the package:

(require 'rail)

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 in 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 here.

Documentation

For now, the project has no official documentation, you can check the test repository on how the tests are been launch using the server nrepl-python and lein headless repl.

Bug reports & patches

Feel free to report any issues you find or you have suggestions for improvements.

About

A generic NREPL client for Emacs, based on monroe


Languages

Language:Emacs Lisp 96.0%Language:Makefile 2.6%Language:Clojure 1.4%