2012-10-11 29 views
22

Estaba realmente contento con el uso de vim + lein repl, pero como mucha gente sigue diciendo que Emacs es el camino a seguir cuando se trata de Lisps, he decidido probarlo. El problema ahora es establecer un entorno de clojure que haga todas las cosas sofisticadas de las que la gente sigue hablando, por ahora pude instalar clojure-mode y nREPL y eso funciona bastante bien, pero necesito que la réplica funcione con mi Leiningen. proyectos si este experimento va a ir a algún lado (tener una réplica en el editor sería bastante inútil si eso significara tener que gestionar todas mis dependencias (especialmente las relacionadas con classpath) por mi cuenta). El punto problemático es que la mayoría de los artículos que veo en línea son¿Cómo hacer para que Emacs, nrepl.el y Leiningen jueguen bien?

  • A) sobre Swank-clojure, que está en desuso
  • B) sobre Leiningen 1.x, que está en desuso
  • C) tanto
  • D) cubren sólo la instalación, no cómo utilizar efectivamente las cosas que acaba de instalar (o incluso lo que hacen)

Ahora lo que estoy buscando es:

  • Get nrepl.el respetar mi project.clj
  • averiguar cuál es el flujo de trabajo normal con Leiningen + + emacs clojure-mode + nrepl.el es
  • no tiene nada que ver con la pregunta, pero yo Estaría interesado en por qué emacs a veces tapa el texto (cambia el color de la fuente al color de fondo hasta que lo golpea el cursor) sin que yo lo pida.
+1

Gran pregunta, exactamente lo que necesitaba también, gracias. –

Respuesta

23

Asumiendo que tiene tanto lein2 y nrepl.el instalado:

Opción A:

Usted sólo tiene que abrir en Emacs un fichero propiedad de su proyecto Lein (como foo.clj) y se escribe M-x nrepl-jack-in. Esto iniciará un nREPL con todos los deps cargados y podrá jugar más o menos de la misma manera que con swank-clojure. (Eso es lo que hago la mayor parte del tiempo)

Opción B:

Uno va a dir de su proyecto en un terminal y escribir allí:

lein repl 

Después de escribir M-x nrepl le permitirá conectarse a la sesión de ejecución nrepl.

nrepl.el viene con un práctico modo menor que le permite evaluar el código en sus archivos fuente Clojure y cargarlo directamente en el repl (igual que swank-clojure). Una lista de todos los comandos disponibles en la sección del menú nREPL.

P.S.

nrepl.el se cambió el nombre a CIDER.

+0

Parece que nrepl.el ya conoce los proyectos de Leiningen por defecto, eso está bien. – Cubic

+0

nrepl.el conoce los proyectos de lein 2. No funcionará con lein 1.x –

+1

Está bien, no estoy realmente interesado en lein 1.x - Acabo de comenzar con Clojure recientemente y he estado tratando realmente de evitar las cosas "viejas" (las cosas tienden a volverse viejas muy rápido cuando tienes un lenguaje relativamente nuevo). – Cubic

Cuestiones relacionadas