22

ファイルを保存するときに repl から参照されるソース ファイルをリロードするように、slime+lein-swank を設定しようとしています。現在、私はこれを行います:

  • ファイルを編集
  • ファイルを保存
  • 交換に切り替える
  • (:reload-all 'com.package.namespace を使用)
  • テストのもの

ステップ4を忘れずにやりたいです。

4

3 に答える 3

16

C-c C-kREPL に切り替える前にSLIME を使用できますslime-compile-and-load-file。まだ保存していない場合は、ファイルを保存するように求められます。それが完了すると、再定義したものが新しいバージョンの SLIME REPL で利用できるようになります。C-c C-z次に、REPL を起動するために使用できます(C-x 0必要がなくなったら、これを閉じます)。

于 2010-04-08T00:48:43.850 に答える
13

.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)
于 2010-04-08T12:15:55.413 に答える
8

前の回答と同様に、同じキーストロークを使用しますが、それらをマクロに記録してキーにバインドします。そうすれば、キーを 1 回押すだけで、保存、コンパイル、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)
于 2010-04-08T03:26:58.227 に答える