Question

J'utilise Clojure sublimeREPL et j'aimerais savoir si je peux supprimer le nom de l'espace de noms de l'invite

Actuellement, mon invite ressemble à ceci :

foo.core=>

Le plus souvent, pour une raison quelconque, il est doublé :

foo.core=>foo.core=>

J'aimerais pouvoir avoir juste ceci :

>

Je ne trouve pas l'endroit où ce comportement est défini dans le package sublimeREPL

Toute aide est la bienvenue

Était-ce utile?

La solution

Pour autant que je sache,lein repl ne reconnaît aucun argument pour définir l'invite.De plus, la norme tools.nrepl, tel qu'utilisé par lein repl, a la capacité de définir l'invite, mais elle est cachée dans une fonction privée dans cmdline.clj et il n'est exposé à aucune fonction publique.Donc exposer cette fonctionnalité signifierait modifier à la fois Leiningent et tools.nrepl.

Alternativement, la manière actuellement accessible de définir l'invite consiste à utiliser un argument pour la fonction clojure.main/repl.Sublime n'est pas configuré pour interagir directement avec cela, car il est configuré pour utiliser le nrepl protocole pour communiquer avec Clojure.

Donc, à moins que quelque chose ne me manque, vos options sont :

  • acceptez que vous ne pouvez pas modifier l'invite
  • changez Leiningen et tools.nrepl pour que les deux exposent une option d'invite
  • changez Sublime pour qu'il puisse utiliser clojure.main/repl directement

Autres conseils

Je sais que c'est une vieille question, mais il existe une meilleure réponse que celle acceptée.Dans ton project.clj fichier, vous pouvez définir :repl-options ainsi:

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

Dans votre cas, remplacez prompt (fn [ns] (str "> " )) avec prompt (str "> " ) et vous devriez être prêt.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top