代码之家  ›  专栏  ›  技术社区  ›  MattDMo

防止SublimeREPL中的“lein repl”回显上一个命令

  •  2
  • MattDMo  · 技术社区  · 8 年前

    我在OSX10.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) ),它很好地打印出答案:

    lein repl from command line

    然而,如果我跑了 lein回复 来自SublimeREPL 项目.clj 并运行相同的命令,它会在打印返回值之前回显该命令:

    lein repl in SublimeREPL

    我还创建了一个 lein trampoline run -m clojure.main 命令,并且它不存在回显问题:

    lein trampoline

    基本上,我想做的是能够使用 项目.clj ,但在打印输出之前,并不是每个命令都要回显。我似乎不知道如何在Sublime中使用 项目.clj 如果那是最好的选择。如果有不同的方法,即使用 lein回复 ,我只想去掉命令echo,使其看起来与从命令行运行时显示的类似。

    1 回复  |  直到 8 年前
        1
  •  2
  •   MattDMo    8 年前

    多亏了一些 help 在崇高文本论坛上,我得到了一个答案:你只需要把 "suppress_echo": true 在中 Main.sublime-menu 定义Clojure菜单选项的文件。在这种情况下,打开 Packages/SublimeREPL/config/Clojure/Main.sublime-menu ,用逗号 , 之后 "extend_env": {"INSIDE_EMACS": "1"} ,然后在下一行输入 “suppress_echo”:真 你已经准备好了。