Как удалить имя пространства имен из приглашения sublimeREPL (clojure)?

StackOverflow https://stackoverflow.com//questions/22009370

Вопрос

Я использую Clojure SublimeREPL и хотел бы знать, могу ли я удалить имя пространства имен из приглашения.

В настоящее время мое приглашение выглядит так:

foo.core=>

Чаще почему-то его удваивают:

foo.core=>foo.core=>

Я хотел бы иметь возможность иметь только это:

>

Я не могу найти место, где это поведение определяется в пакете sublimeREPL.

Любая помощь приветствуется

Это было полезно?

Решение

Насколько я могу судить,lein repl не распознает аргументов для установки подсказки.Более того, стандарт tools.nrepl, как используется lein repl, имеет возможность установить подсказку, но она скрыта внутри частной функции в cmdline.clj и он не выполняет никаких общественных функций.Таким образом, раскрытие этой функциональности будет означать изменение как Leiningent, так и Tools.nrepl.

В качестве альтернативы, доступный в настоящее время способ установки приглашения — это аргумент функции. clojure.main/repl.Sublime не настроен для прямого взаимодействия с этим, поскольку он настроен на использование nrepl протокол для связи с Clojure.

Итак, если я что-то не упустил, ваши варианты:

  • согласитесь, что вы не можете изменить подсказку
  • измените Leiningen иtools.nrepl, чтобы оба отображали опцию подсказки
  • измените Sublime, чтобы он мог напрямую использовать clojure.main/repl

Другие советы

Я знаю, что это старый вопрос, но есть лучший ответ, чем принятый.В вашей project.clj файл, вы можете установить :repl-options вот так:

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

В вашем случае замените prompt (fn [ns] (str "> " )) с prompt (str "> " ) и у вас должно быть все готово.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top