Where should the file user.clj go?

2.7k views Asked by At

I am trying to setup proto-repl atom-editor package and apparently it needs a file user.clj to exist somewhere - which I guess is some leiningen's init file.

Where should I create this file?

3

There are 3 answers

3
noisesmith On BEST ANSWER

Clojure will load the file user.clj from your class path if it is found. In a default leinengen project src/ will be on the class path, so if you create src/user.clj the contents of that file will be loaded in the context of the user namespace.

user is the default namespace for the clojure repl, but some leiningen projects override this. In order to access definitions in user.clj you will need to either pull user into scope (using require or use) or make sure that user is your starting namespace.

0
Jason Gilman On

See the Proto REPL demo project https://github.com/jasongilman/proto-repl-demo/blob/master/dev/user.clj for an example of how to setup user.clj You should also add a dependency on clojure.tools.namespace in the project.clj https://github.com/jasongilman/proto-repl-demo/blob/master/project.clj

I just pushed some changes to Proto REPL last night to improve this area but you'll still benefit from having one setup.

0
Piotrek Bzdyl On

According to the proto-repl page, it might use some functions from user namespace when reloading code in REPL (reset function) but it shouldn't be required.

You might want to take a look at the proto-repl demo project to see the more advanced setup.