我在OS X 10.10.5和Ubuntu 16.04上运行Sublime Text 3 Build 3117。我刚刚在两者上安装了Leiningen 2.6.1,我开始在SublimeREPL中玩游戏。我正在关注lein tutorial。这是我的project.clj
,如果重要的话:
(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 "> " ))
}
)
现在,当我从命令行在lein repl
目录中运行my-stuff
并运行任意命令(我一直在使用(+ 1 2 3)
)时,它会很好地打印出答案:
但是,如果我从SublimeREPL以lein repl
为焦点运行project.clj
并运行相同的命令,它会在打印返回值之前回显该命令:
我还为SublimeREPL创建了一个lein trampoline run -m clojure.main
命令,它没有回音问题:
基本上,我想要做的是能够使用project.clj
运行REPL,但是在输出打印之前没有回显每个命令。我似乎无法弄清楚如何使用project.clj
在Sublime中运行trampoline REPL,如果这是最好的选择。如果有不同的方式,即使用lein repl
,我只想删除命令echo,并使其看起来与从命令行运行时看起来类似。
答案 0 :(得分:1)
感谢Sublime Text Forum上的一些help,我得到了一个答案:你只需要将"suppress_echo": true
放在Main.sublime-menu
文件中,其中定义了Clojure菜单选项。在这种情况下,请打开Packages/SublimeREPL/config/Clojure/Main.sublime-menu
,在,
之后添加一个逗号"extend_env": {"INSIDE_EMACS": "1"}
,然后在下一行"suppress_echo": true
上添加所有内容。