Я надеюсь настраивать slime+lein-swank для перезагрузки исходных файлов, на которые ссылаются от repl, когда я сохранил файл. в настоящее время я делаю это:
Я хочу не должным быть не забыть делать шаг 4.
Как и в предыдущем ответе, я использую те же нажатия клавиш, но записываю их в макрос и привязываю к клавише. Таким образом, достаточно одного нажатия клавиши для сохранения, компиляции и переключения на REPL. В конечном итоге это выглядит примерно так:
(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)
Установите перехватчик в .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)
Вы можете использовать C-c C-k SLIME перед переходом в REPL, для slime-compile-and-load-file
. Он предложит вам сохранить файл, если вы этого еще не сделали. Когда это произойдет, то вещи, которые вы переопределили, должны быть доступны в SLIME REPL в их новых версиях. Тогда вы можете использовать C-c C-z, чтобы вызвать REPL (закройте его с помощью C-x 0, когда он вам больше не нужен).