2014-02-25 147 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 "> "),你應該準備就緒。

相關問題