My Emacs Scala Development Environment
Scala related Features
- Combines
scala-modeandsbt-mode - Fast editing, without
ensime - Compile on save
- On the fly syntax check using
flycheck(only check syntax errors, not typecheck). -
sbt-modeincluded with a custom commandplay-startfor Play!Framework projects - Add an command
C-c C-tto run aSpecificationof specs2 or scalatest - In buffer text based completion with
company-mode(text based, company won't understand Scala at all)
General Features
- Based on prelude
- With a lot of base16 themes bundled
- Poor written
lisp, I haven't learn lisp seriously.
Setup
- clone the repo
git clone https://github.com/jilen/prelude - backup your own
.emacs.dconfig directory -
mvthe cloned repo as.emacs.d - start emacs
That's it.
Prelude-scala-sbt.el
;;; prelude-scala-sbt.el --- Scala2 and sbt mode
;;; Commentary:
;;
;;; Code:
(prelude-require-package 'sbt-mode)
(require 'prelude-scala)
(require 'sbt-mode)
(defun play-start ()
"Start Play console."
(interactive)
(let ((sbt:program-name "play")) ; do a 'let' binding for the variable
(sbt-start)))
(setq scala-indent:use-javadoc-style t)
(defun test-only ()
"Run test with current file."
(interactive)
(sbt-command (concat "testOnly " (find-spec-name))))
(defun find-spec-name ()
"Find spec name of current buffer."
(concat "*." (file-name-sans-extension (file-name-nondirectory (buffer-name)))))
(defun compile-sbt-project ()
"Compile the sbt project."
(sbt-command "test:compile")
)
(add-hook 'scala-mode-hook
(lambda ()
(add-hook 'after-save-hook 'compile-sbt-project)))
(provide 'prelude-scala-sbt)
;;; prelude-scala-sbt.el ends here
Screenshot

Written by jilen
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best #Scala Authors
Sponsored by #native_company# — Learn More
#native_title# #native_desc#