Skip to content

Instantly share code, notes, and snippets.

@laurentpetit
Created December 19, 2013 14:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save laurentpetit/8039881 to your computer and use it in GitHub Desktop.
Save laurentpetit/8039881 to your computer and use it in GitHub Desktop.
Adds 2 launch event listeners that spit the created nrepl server port into ~/.nrepl and <project-dir>/.nrepl files
(ns nrepl-events
(:require [ccw.core.launch :as l]
[clojure.java.io :as io]
[ccw.eclipse :as e]))
(defn spit-globally
"global ~/.nrepl file"
[{:keys [event-type port project]}]
(when (= :creation event-type)
(spit (io/file (java.lang.System/getProperty "user.home") ".nrepl")
(str port))))
(defn spit-per-project
"per-project .nrepl file, or defaults to globally if no project"
[{:keys [event-type port project] :as m}]
(when (and (= :creation event-type) project)
(spit (io/file (e/project project) ".nrepl")
(str port))))
(swap! l/nrepl-servers-listeners
assoc
:spit-globally #'spit-globally
:spit-per-project #'spit-per-project)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment