I am pretty sure I have setup Emacs, Ensime, SBT, and Scala to work together properly. I am able to edit files and see type errors when I save and have successfully tried using ensime's autorefactoring tools.
The problem is when I open a REPL by pressing C-c C-v z
it seems as if nothing from my file is loaded.
In other words if I define something like
class Moose {}
in my source file, this is what happens when I try to use Moose
from the REPL
scala> Moose
<console>:8: error: not found: value Moose
Moose
^
scala> new Moose
<console>:8: error: not found: type Moose
new Moose
^
What is the best way to load something, such as the current buffer contents into the REPL?
I found out that there was actually no problem with the REPL. I had been trying to compile my project by pressing
C-c C-b b
and assumed it was working the buffer*ENSIME-Compilation-Result*
would pop up with:But, I checked in the
target/scala-2.10/classes
directory and found that no.class
files were being generated.When I instead compiled from the command line with
sbt
, I was able to then get a REPL loaded with what I expected.EDIT:
I posted a follow-up question: Building with Ensime deletes all .class files, but doesn't compile anything.