Como remover o nome de espaço de nomes a partir de sublimeREPL (clojure) linha de comandos?

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

Pergunta

Eu estou usando clojure sublimeREPL e gostaria de saber se eu posso remover o nome de espaço de nomes a partir da linha de comandos

Atualmente o meu prompt parecido com este:

foo.core=>

Mais, muitas vezes, por alguma razão, ela é duplicada:

foo.core=>foo.core=>

Eu gostaria de ser capaz de ter apenas esta:

>

Eu não posso encontrar o lugar onde este comportamento é definido no sublimeREPL pacote

Qualquer ajuda bem-vindo

Foi útil?

Solução

Tanto quanto eu posso dizer,lein repl reconhece nenhum argumento para definir a linha de comandos.Além disso, o padrão tools.nrepl, como utilizado lein repl, tem a capacidade para definir a linha de comandos, mas ele está escondido dentro de uma função particular no cmdline.clj e ele não está exposta a qualquer função pública.Expondo esta funcionalidade significaria modificar Leiningent e ferramentas.nrepl.

Alternativamente, atualmente acessível, de modo a definir a linha de comandos é como um argumento para a função clojure.main/repl.O Sublime não está configurado para interagir diretamente com isso, porque ele é configurado para usar o nrepl protocolo para se comunicar com Clojure.

Então, a menos que eu estou faltando alguma coisa, as suas opções são:

  • aceite que você não pode alterar a linha de comandos
  • alteração de Leiningen e ferramentas.nrepl para expor uma opção de linha de comandos
  • alterar Sublime, de modo que ele pode usar clojure.principal/repl diretamente

Outras dicas

Eu sei que essa é uma velha pergunta, mas há uma resposta melhor do que o aceitou uma.Em seu project.clj arquivo, você pode definir :repl-options assim:

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

No seu caso, substitua prompt (fn [ns] (str "> " )) com prompt (str "> " ) e você deve estar preparado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top