欢迎!请查看关于页面以了解更多关于这个工具的信息。
我一直在使用nrepl,但那与用clojure.main/repl创建"子REPL"不兼容。我现在使用套接字REPL,并且非常喜欢现在子REPL再次可以使用了。我主要只是做简单的调用
clojure.main/repl
(clojure.main/repl :prompt (fn [] (printf "%s=> " (peek (str/split (str *ns*) #"\.")))) :read server/repl-read)
人们用子REPL做了些什么?创建评估历史文件?将形式扔到数据库中?非常想了解。
这是连接到clojure.main/repl的HTTP代码(类似于nrepl的drawbridge)的一些未完成代码。
wrap-repl是一个ring处理程序。然后在一个普通的clojure.main/repl中调用http-repl,并将其连接到远程REPL。
我相信代码的通信部分都已存在,缺少的部分是关于通过签名请求来安全地访问REPL。
https://gist.github.com/hiredman/86aeb916b478d9e57cbce8e0e678babd
自定义的一个小例子
https://insideclojure.org/2020/02/11/custom-repl/
(clojure.main/repl :caught (fn [e] (fipp.repl/pst e)) :print (fn [x] (fipp.edn/pprint x)))