Cómo recargar archivos al guardar cuando se usa swank+leiningen+emacs
clojure slime (3)
Estoy buscando configurar slime + lein-swank para volver a cargar los archivos fuente a los que se hace referencia en la respuesta cuando guardo el archivo. actualmente hago esto:
- editar archivo
- guardar el archivo
- cambiar a repl
- (use: reload-all ''com.package.namespace)
- cosas de prueba
Quiero no tener que acordarme de hacer el paso 4.
Al igual que en la respuesta anterior, utilizo esas mismas pulsaciones de teclas, pero las grabo en una macro y las vinculo a una clave. De esa manera, solo se debe presionar una tecla para guardar, compilar y cambiar a REPL. Termina buscando algo como esto:
(fset ''compile-and-goto-repl
"/C-x/C-s/C-c/C-k/C-c/C-z")
(global-set-key [f6] ''compile-and-goto-repl)
Configurar un gancho en .emacs:
(defun clojure-slime-maybe-compile-and-load-file ()
"Call function `slime-compile-and-load-file'' if current buffer is connected to a swank server.
Meant to be used in `after-save-hook''."
(when (and (eq major-mode ''clojure-mode) (slime-connected-p))
(slime-compile-and-load-file)))
(add-hook ''after-save-hook ''clojure-slime-maybe-compile-and-load-file)
Puede usar Cc Ck de SLIME antes de cambiar a REPL, para el slime-compile-and-load-file
de slime-compile-and-load-file
. Le pedirá que guarde el archivo si aún no lo ha hecho. Cuando haya terminado, las cosas que ha redefinido deberían estar disponibles en SLIME REPL en sus nuevas versiones. Luego, puede usar Cc Cz para abrir el REPL (ciérrelo con Cx 0 cuando ya no lo necesite).