Как Перезагрузить файлы на сохранение при использовании swank+leiningen+emacs

Я надеюсь настраивать slime+lein-swank для перезагрузки исходных файлов, на которые ссылаются от repl, когда я сохранил файл. в настоящее время я делаю это:

  • файл редактирования
  • сохраните файл
  • переключитесь на repl
  • (использование: перезагрузка - все 'com.package.namespace)
  • тестовый материал

Я хочу не должным быть не забыть делать шаг 4.

22
задан Arthur Ulfeldt 7 April 2010 в 21:58
поделиться

3 ответа

Как и в предыдущем ответе, я использую те же нажатия клавиш, но записываю их в макрос и привязываю к клавише. Таким образом, достаточно одного нажатия клавиши для сохранения, компиляции и переключения на 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)
8
ответ дан 29 November 2019 в 04:57
поделиться

Установите перехватчик в .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)
13
ответ дан 29 November 2019 в 04:57
поделиться

Вы можете использовать C-c C-k SLIME перед переходом в REPL, для slime-compile-and-load-file. Он предложит вам сохранить файл, если вы этого еще не сделали. Когда это произойдет, то вещи, которые вы переопределили, должны быть доступны в SLIME REPL в их новых версиях. Тогда вы можете использовать C-c C-z, чтобы вызвать REPL (закройте его с помощью C-x 0, когда он вам больше не нужен).

16
ответ дан 29 November 2019 в 04:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: