我正在使用 clojure sublimeREPL,我想知道是否可以从提示中删除命名空间名称
目前我的提示是这样的:
foo.core=>
由于某种原因,它更经常加倍:
foo.core=>foo.core=>
我希望能够拥有这个:
>
我找不到在 sublimeREPL 包中定义此行为的地方
欢迎任何帮助
我正在使用 clojure sublimeREPL,我想知道是否可以从提示中删除命名空间名称
目前我的提示是这样的:
foo.core=>
由于某种原因,它更经常加倍:
foo.core=>foo.core=>
我希望能够拥有这个:
>
我找不到在 sublimeREPL 包中定义此行为的地方
欢迎任何帮助
据我所知,lein repl
不承认设置提示的参数。此外,由tools.nrepl
使用的标准lein repl
具有设置提示的能力,但它隐藏在私有函数中cmdline.clj
,并且不暴露给任何公共函数。因此,公开此功能意味着修改 Leiningent 和 tools.nrepl。
或者,当前可访问的设置提示的方法是作为函数的参数clojure.main/repl
。Sublime 没有设置为直接与此交互,因为它设置为使用该nrepl
协议与 Clojure 进行通信。
因此,除非我遗漏了什么,否则您的选择是:
我知道这是一个老问题,但有一个比公认的更好的答案。在您的project.clj
文件中,您可以:repl-options
像这样设置:
(defproject my-stuff "0.1.0"
:description "Leiningen Tutorial Project"
:url "http://example.com/FIXME"
:license {:name "MIT"
:url "http://opensource.org/licenses/MIT"}
:dependencies [[org.clojure/clojure "1.8.0"]]
:main ^:skip-aot my-stuff.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}}
:repl-options {
;; custom prompt
prompt (fn [ns] (str "> " ))
}
)
在你的情况下,替换prompt (fn [ns] (str "> " ))
为prompt (str "> " )
你应该已经准备好了。