Advanced inspector middleware for Clojure nREPL

Last night I promoted a new nREPL middleware project, ‘nrepl-inspect’, derived from the javert library.

nrepl-inspector on GitHub

This repository contains:

  • an Emacs client file that extends nrepl.el, and
  • a rich generic middleware inspector that runs under nREPL.

Key features include:

  • ‘C-c C-i’ inspects the var at point, or any value returned by eval of an arbitrary expression in the current buffer’s active namespace,
  • a simple model for recursing into sub-objects based on a value index map maintained in the middleware during serialization of the value, and
  • a rendering method extensible for custom types.

My goal is to be able to stack navigate a Datomic database given an Entity, the example in the repository should support that with just a little more work.

Please note, while I use this in my day to day development, but it’s not yet well packaged and has been minimally tested.  It currently does not truncate maps or sequences, so please don’t inspect ‘(repeat 1)’!

One thought on “Advanced inspector middleware for Clojure nREPL

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s