Default namespace is not evaluated when stating lein repl?

409 views Asked by At

I have troubles getting my default namespace invoked when I start lein repl :headless from emacs cider.

My project.clj has :repl entry defined:

  :repl-options { :init-ns dev.core }

When I cider-jack-in from project.clj file, I indeed end up in dev.core ns:

  dev.core> *ns*
  #<Namespace dev.core>

However, when I look interns, I get:

  dev.core> (ns-interns *ns*)
  {}

When I reload namespace:

  dev.core> (use 'dev.core :reload)
  nil
  dev.core> (ns-interns *ns*)
  {start-cljs-repl #'dev.core/start-cljs-repl, stop-server #'dev.core/stop-server}

My namespace gets loaded. It seems that internally leiningen uses (require ...) method to load namespace, but can't find any info in docs about this case?

Thanks!

1

There are 1 answers

0
runexec On

After setting the initial namespace, use :init to load the symbols.

:repl-options {:init-ns dev.core
               :init (use 'dev.core :reload)}