【问题标题】:Prevent 'lein repl' in SublimeREPL from echoing the previous command防止 SublimeREPL 中的 'lein repl' 回显上一个命令
【发布时间】:2016-10-29 18:24:46
【问题描述】:

我正在 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 "> " ))
  }
)

现在,当我从命令行在my-stuff 目录中运行lein repl 并运行任意命令(我一直在使用(+ 1 2 3))时,它会很好地打印出答案:

但是,如果我以 project.clj 为焦点从 SublimeREPL 运行 lein repl 并运行相同的命令,它会在打印返回值之前回显该命令:

我还为 SublimeREPL 创建了一个lein trampoline run -m clojure.main 命令,它没有回显问题:

基本上,我想做的是能够使用project.clj 运行 REPL,但不会在打印输出之前回显每个命令。如果这是最好的选择,我似乎无法弄清楚如何使用project.clj 在 Sublime 中运行蹦床 REPL。如果有不同的方式,即使用lein repl,我只想摆脱命令回显,并使其看起来与我从命令行运行时出现的相似。

【问题讨论】:

    标签: clojure sublimetext3 sublimetext leiningen sublimerepl


    【解决方案1】:

    感谢 Sublime Text 论坛上的一些 help,我得到了答案:您只需将 "suppress_echo": true 放入定义 Clojure 菜单选项的 Main.sublime-menu 文件中。在这种情况下,打开Packages/SublimeREPL/config/Clojure/Main.sublime-menu,在"extend_env": {"INSIDE_EMACS": "1"} 后面加一个逗号,,然后在下一行输入"suppress_echo": true,一切就绪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      相关资源
      最近更新 更多