Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/eraserhd/rep

A single-shot nREPL client designed for shell invocation
https://github.com/eraserhd/rep

clojure kakoune nrepl plugin

Last synced: about 2 months ago
JSON representation

A single-shot nREPL client designed for shell invocation

Awesome Lists containing this project

README

        

rep
===

https://github.com/eraserhd/rep

A single-shot nREPL client designed for shell invocation.

This connects to a running nREPL server (like kind started with `lein repl`,
for example), sends some code to be evaluated, and prints the results and
output.

....
$ rep '(clojure.tools.namespace.repl/refresh)'
:reloading ()
:ok
....

Unlike other nREPL clients, `rep` does not try to maintain a persistent
connection, meaning that thread-local variables and bindings like `*e` and
`*1` will not persist across invocations of `rep`. Perhaps there are
other limitations because of this?

Installation
------------

On Unix-like systems:

....
$ make && sudo make install
....

On Windows, this can be built with Mingw:

....
> mingw32-make.exe
....

Usage, Options, and Examples
----------------------------

See https://github.com/eraserhd/rep/blob/develop/rep.1.adoc[the rep manpage].

Building with Nix
-----------------

You can use https://nixos.org/nix/download.html[Nix] as the build tool.

....
$ nix-build .
....

A `result` symlink will appear in the current directory point to the build
output.

Running Tests
-------------

To run all the tests that CI runs, the way CI runs them (do this before
issuing a pull request):

....
$ nix-build release.nix
....

Using with Kakoune
------------------

The `rc/` folder contains scripts which add a `,e` user mode to Kakoune. To
link this to Kakoune's autoload directory, do the following:

....
$ make && make install
$ ln -sf /usr/local/share/kak/autoload/plugins/rep.kak ~/.config/kak/autoload/
....

`rep` must be in the path for the plugin to work.

License
-------

Copyright © 2018 Jason M. Felice

Distributed under the Eclipse Public License either version 1.0 or (at
your option) any later version.