Question

I'm using Emacs, integrated with Leiningen's swank. Each time I need to start working with .clj file I have to:

  1. Run emacs pack/my-ns.clj from console.
  2. Type M-x lein-swank.
  3. Compile buffer.
  4. In Clojure REPL change namespace, i.e. type (in-ns 'pack.my-ns).

How can I automate this process to just run from console something like emacs-clj pack/my-ns.clj and get my environment ready to use?

Was it helpful?

Solution

I don't have an answer to the question you posed, but you should be able to replace your 4th step with C-c M-p while in your Clojure file and then emacs should prompt you as to what namespace you want to be in with the namespace of the file auto-detected so you can simply hit enter. C-c M-p maps to slime-repl-set-package.

Update:

Just stumbled across this. Should be able to take what is said in that answer and modify it so upon initial connection to swank files get compiled. Could also set it up to automatically switch to namespace and make the repl buffer active.

OTHER TIPS

Swank should automatically load the namespace pointed to by :repl-init-script in project.clj when it starts, so if you want to set that to your starting namespace, that should get you started.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top