2012-09-09 16 views
11

Al usar el REPL de leiningen, ¿hay alguna manera de hacer que un archivo o ns se recargue automáticamente en el archivo de guardar? Actualmente recargo el ns escribiendo lo siguiente en el repl - (use 'sample.ns :reload-all).Cómo cargar en caliente un espacio de nombre en el archivo guardar en Leiningen REPL

Sin embargo, ¿puedo tener que volver a cargar automáticamente al guardar el archivo?

+3

¿Estás usando emacs? Porque si es así, esta es una función admitida de slime/swank: http://stackoverflow.com/questions/2596222/how-to-reload-files-upon-save-when-using-swankleiningenemacs – noahlz

Respuesta

0

Clojure-Watch biblioteca hace lo que necesita. Observa un archivo y realiza alguna acción. En su caso, una acción sería volver a cargar un espacio de nombres de ese archivo. Además, se requiere escribir un código inicial para lanzar al observador.

De esta manera me parece un poco complicado. Plain REPL lanzado directamente de Lein no es una forma efectiva de desarrollarse. Será mejor que utilices algún editor de Clojure, como Emacs o Lightable.

0

La mayoría de los editores principales admiten enlaces de teclas rápidas personalizadas y tienen un complemento Clojure que le permite conectarse a la REPL activa a través de la red (a través de "nREPL"). Personalmente, utilizo vim y por lo tanto uso vim-fireplace para este propósito.

Esto significa que puede tener una tecla de acceso rápido personalizada para volver a cargar el archivo que está editando mientras lo edita. A partir de ahí, es generalmente trivial agregar un gancho personalizado para guardar que realiza la recarga.

Cuestiones relacionadas