我正在使用clojure sublimeREPL,我想知道是否可以从提示符中删除命名空间名称

目前我的提示如下所示:

foo.core=>

更多的时候由于某种原因它是加倍:

foo.core=>foo.core=>

我希望能有这个:

>

我找不到sublimeREPL包中定义此行为的地方

任何帮助欢迎

有帮助吗?

解决方案

据我所知,lein repl 不识别设置提示的参数。此外,标准 tools.nrepl, ,如所使用 lein repl, ,具有设置提示的能力,但它隐藏在一个私有函数中 cmdline.clj 而且它不暴露于任何公共功能。因此,公开此功能将意味着修改Leinter和工具。nrepl。

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

所以,除非我错过了什么,否则你的选择是:

  • 接受您无法更改提示
  • 换Leiningen和工具.nrepl所以都暴露了一个提示选项
  • 更改Sublime,以便它可以使用clojure。main/repl直接

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top