monroe

https://github.com/sanel/monroe.git

git clone 'git://github.com/sanel/monroe.git'
49

Monroe - Clojure nREPL client for Emacs

Monroe

Monroe is nREPL client for Emacs, focused on simplicity and easy distribution primarily targeting Clojure users.

If you are not familiar with nREPL, it is protocol for accessing Clojure REPL over the network.

In short, Monroe aims to have:

On other hand, Monroe is not:

Installation

Make sure you have clojure-mode.el installed first. You can get it from Marmalade repository or directly from here.

Official Monroe releases you can find on releases page or you can get it from Marmalade repository of Emacs packages (you are familiar with Emacs packages, right?).

Latest (and maybe unstable) code you can always get from this repository or MELPA repository of Emacs packages.

If you get Monroe by downloading official release or by cloning this repository, you can install it by moving monroe.el file in $HOME/.emacs.d folder or any other location listed in Emacs load-path variable. Installing via Emacs package manager will do this automatically.

In your Emacs init file, put:

(require 'monroe)
(add-hook 'clojure-mode-hook 'clojure-enable-monroe)

Then, in Emacs:

M-x monroe [RET]

and follow the question about nREPL server location and port.

Keys and shortcuts

Monroe shortcuts for code buffer

These shortcuts are valid from code buffer where you edit Clojure code and where monroe-interaction-mode is activated.

Keys | Description ——————–|—————————- C-c C-c | Evaluate expression at point. C-c C-r | Evaluate region. C-c C-k | Evaluate buffer. C-c C-d | Describe symbol at point, showing documentation in REPL window. C-c C-n | Evaluate namespace. C-c C-b | Interrupt running job.

Monroe shortcuts for REPL buffer

These shortcuts are valid in REPL buffer; also, most of the standard comint-mode shortcuts should work without problems.

Keys | Description ——————–|—————————- C-c C-d | Describe symbol at point, showing documentation in REPL window. C-c C-c | Interrupt running job.

Bug reports & patches

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