Domanda

Sto usando Clojure Sublimerepl e vorrei sapere se posso rimuovere il nome dello spazio dei nomi dal prompt

Attualmente il mio prompt è simile a questo:

foo.core=>
.

Più spesso per qualche motivo è raddoppiato:

foo.core=>foo.core=>
.

Vorrei essere in grado di avere solo questo:

>
.

Non riesco a trovare il luogo in cui questo comportamento è definito nel pacchetto SublimerePL

Qualsiasi aiuto Benvenuto

È stato utile?

Soluzione

Per quanto posso dire, lein repl non riconosce alcun argomento per l'impostazione del prompt. Inoltre, il tools.nrepl standard, come utilizzato da lein repl, ha la possibilità di impostare il prompt, ma è nascosto all'interno di una funzione privata in cmdline.clj e non è esposto a alcuna funzione pubblica. Quindi esporre questa funzionalità significherebbe modificare sia lepinenti che strumenti. Dentropl.

In alternativa, il modo attualmente accessibile per impostare il prompt è come argomento alla funzione clojure.main/repl . Sublime non è impostato per interagire direttamente con questo, poiché è impostato per utilizzare il protocollo nrepl per comunicare con Clojure.

Quindi, a meno che non mi manchi qualcosa, le tue opzioni sono:

    .
  • Accetta che non è possibile modificare il prompt
  • Modifica Leiningen e Tools.Nrepl Quindi entrambi espongono un'opzione prompt
  • cambia sublime in modo che possa usare clojure.main / repl direttamente

Altri suggerimenti

So che questa è una vecchia domanda, ma c'è una risposta migliore rispetto a quella accettata.Nel tuo file project.clj, è possibile impostare :repl-options come:

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

Nel tuo caso, sostituire prompt (fn [ns] (str "> " )) con prompt (str "> " ) e dovresti essere tutto impostato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top