2014-02-25 131 views
1

我使用Clojure的sublimeREPL,我想知道如果我可以从提示如何从sublimeREPL(clojure)提示中删除名称空间名称?

删除命名空间的名称目前我的提示是这样的:

foo.core=> 

往往出于某种原因被加倍:

foo.core=>foo.core=> 

我希望能有眼前这个:

> 

我找不到在哪里这种行为是在sublimeREPL包

任何帮助,欢迎

+0

事实证明(clojure.main/repl:prompt#(print“>”))为我做了诡计...... – szymanowski

回答

2

据我所知,lein repl认识到设置提示没有参数的定义之处。此外,如lein repl所使用的标准tools.nrepl能够设置提示,但它隐藏在cmdline.clj的专用功能中,并且不会暴露给任何公共功能。因此暴露这个功能意味着修改Leiningent和tools.nrepl。

或者,当前可访问的设置提示的方式是作为函数clojure.main/repl的参数。 Sublime没有设置为直接与此交互,因为它设置为使用nrepl协议与Clojure进行通信。

所以,除非我失去了一些东西,你的选择是:

  • 接受你不能改变的提示
  • 变化Leiningen和tools.nrepl这样既暴露出提示选项
  • 变化如此崇高它可以直接使用clojure.main/repl
0

我知道这是一个老问题,但有一个比接受的更好的答案。在你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 "> "),你应该准备就绪。

相关问题