Frage

Ich verwende clojure SublimeREPL und würde gerne wissen, ob ich den Namespace-Namen aus der Eingabeaufforderung entfernen kann

Derzeit sieht meine Aufforderung so aus:

foo.core=>

Häufiger wird es aus irgendeinem Grund verdoppelt:

foo.core=>foo.core=>

Ich würde gerne genau das haben können:

>

Ich kann den Ort, an dem dieses Verhalten im SublimeREPL-Paket definiert ist, nicht finden

Jede Hilfe willkommen

War es hilfreich?

Lösung

Soweit ich das beurteilen kann,lein repl erkennt kein Argument zum Setzen der Eingabeaufforderung.Darüber hinaus ist der Standard tools.nrepl, wie von verwendet lein repl, hat die Fähigkeit, die Eingabeaufforderung zu setzen, aber sie ist in einer privaten Funktion in versteckt cmdline.clj und es ist keiner öffentlichen Funktion ausgesetzt.Das Freilegen dieser Funktionalität würde also bedeuten, sowohl Leiningens als auch Werkzeuge zu modifizieren.nr.

Alternativ ist die derzeit verfügbare Möglichkeit, die Eingabeaufforderung festzulegen, ein Argument für die Funktion clojure.main/repl.Sublime ist nicht dafür eingerichtet, direkt damit zu interagieren, da es für die Verwendung des nrepl protokoll zur Kommunikation mit Clojure.

Also, wenn mir nichts fehlt, sind Ihre Möglichkeiten:

  • akzeptieren Sie, dass Sie die Eingabeaufforderung nicht ändern können
  • Leiningen und Werkzeuge wechseln.nrepl also beide eine Eingabeaufforderungsoption verfügbar machen
  • ändern Sie Sublime so, dass es clojure verwenden kann.haupt- / repl direkt

Andere Tipps

Ich weiß, dass dies eine alte Frage ist, aber es gibt eine bessere Antwort als die akzeptierte.In Ihrem project.clj datei können Sie einstellen :repl-options wie so:

(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 "> " ))
  }
)

Ersetzen Sie in Ihrem Fall prompt (fn [ns] (str "> " )) mit prompt (str "> " ) und du solltest bereit sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top