clojure-emacs/cider — pull request #903 by vspinu (2014-11-28 07:54:21+00:00)
Title: Isolate `nrepl-client` connection logic from CIDER

Hi Bozhidar,

I have just writen a [nREPL client and server for R]](https://github.com/vspinu/R-nREPL/tree/master/) and with this patch I can sucesfuly [connect/jack-in](https://github.com/vspinu/edamot/blob/master/edamot.el). There are a bunch of other, less critical, cider links that must be broken. I will be addressing those gradually.

I hope you would be fine with spliting nrepl into a separte package eventually.

Thanks.

----

Allow `nrepl-client` to be used by non CIDER frontends.

- Frontends can control the creation of the client buffer through
`nrepl-create-client-buffer-function`.

- Each frontend has it's own `xxx-connected-hook` which is run by
`xxx--connected-handler`. The latter function is placed in the local
`nrepl-connected-hook` during the client buffer initialization. Similarly for
`xxx-disconnected-hook`.

- Rename `nrepl--init-connection-buffer` -> nrepl--init-capabilities