diff options
Diffstat (limited to 'src/clj/nicktodo/nrepl.clj')
-rw-r--r-- | src/clj/nicktodo/nrepl.clj | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/clj/nicktodo/nrepl.clj b/src/clj/nicktodo/nrepl.clj new file mode 100644 index 0000000..d9c3c79 --- /dev/null +++ b/src/clj/nicktodo/nrepl.clj @@ -0,0 +1,27 @@ +(ns nicktodo.nrepl + (:require + [nrepl.server :as nrepl] + [clojure.tools.logging :as log])) + +(defn start + "Start a network repl for debugging on specified port followed by + an optional parameters map. The :bind, :transport-fn, :handler, + :ack-port and :greeting-fn will be forwarded to + clojure.tools.nrepl.server/start-server as they are." + [{:keys [port bind transport-fn handler ack-port greeting-fn]}] + (try + (log/info "starting nREPL server on port" port) + (nrepl/start-server :port port + :bind bind + :transport-fn transport-fn + :handler handler + :ack-port ack-port + :greeting-fn greeting-fn) + + (catch Throwable t + (log/error t "failed to start nREPL") + (throw t)))) + +(defn stop [server] + (nrepl/stop-server server) + (log/info "nREPL server stopped")) |