Skip to content

Instantly share code, notes, and snippets.

@robjens
Last active August 29, 2015 14:19
Show Gist options
  • Save robjens/7cd267fd08acbfe558e3 to your computer and use it in GitHub Desktop.
Save robjens/7cd267fd08acbfe558e3 to your computer and use it in GitHub Desktop.
Hoplon Light Table ops task for remote network repl (nrepl) connection establishment
#!/usr/bin/env boot
#tailrecursion.boot.core/version "2.3.1"
(deftask repl-light
"Launch nrepl in the project, and echo the port for remote connection"
[]
(set-env! :dependencies
'[;; order matters here
[org.clojure/clojure "1.6.0"]
[clojure-complete "0.2.3"]
[org.clojure/tools.nrepl "0.2.10"]
[com.google.javascript/closure-compiler "r2388"]
[lein-light-nrepl "0.1.0"]])
(fn [continue]
(fn [event]
(require 'clojure.tools.nrepl.server)
(require 'lighttable.nrepl.handler)
(let [start-server (resolve 'clojure.tools.nrepl.server/start-server)
default-handler (resolve 'clojure.tools.nrepl.server/default-handler)
lighttable-ops (resolve 'lighttable.nrepl.handler/lighttable-ops)]
(let [server (start-server
:port 0
:handler (default-handler lighttable-ops))]
(println "started server on " (:port server))
(continue event)
@(promise))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment