diff --git a/Cask b/Cask index 307eee46b..0e7866532 100644 --- a/Cask +++ b/Cask @@ -164,7 +164,6 @@ (depends-on "android-mode") (depends-on "emacs-eclim") (depends-on "groovy-mode") -(depends-on "scala-mode2" :git "https://github.com/hvesalai/scala-mode2") ;; JS -- modules/module-js.el (depends-on "js2-mode") @@ -218,6 +217,11 @@ (depends-on "racer") (depends-on "flycheck-rust") +;; Scala -- modules/module-scala.el +(depends-on "scala-mode2") +(depends-on "sbt-mode") +(depends-on "ensime") + ;; Shell -- modules/module-sh.el (depends-on "company-shell" :git "https://github.com/Alexander-Miller/company-shell") diff --git a/init.el b/init.el index 0d38e1a2b..4114e9878 100644 --- a/init.el +++ b/init.el @@ -91,6 +91,7 @@ module-python ; beautiful is better than ugly module-ruby ; 1.step do {|i| p "Ruby is #{i&1==0?'love':'life'}"} module-rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + module-scala ; Java, but good module-sh ; she sells Z-shells by the C XOR module-text ; writing docs for people to ignore + latex module-web ; #big-bang::before { content: ""; } diff --git a/modules/module-java.el b/modules/module-java.el index c06858269..e26c97246 100644 --- a/modules/module-java.el +++ b/modules/module-java.el @@ -37,7 +37,5 @@ (use-package groovy-mode :mode "\\.g\\(radle\\|vy\\|roovy\\)$") -(use-package scala-mode2 :mode ("\\.s\\(cala\\|bt\\)$" . scala-mode)) - (provide 'module-java) ;;; module-java.el ends here diff --git a/modules/module-scala.el b/modules/module-scala.el new file mode 100644 index 000000000..6c2808d28 --- /dev/null +++ b/modules/module-scala.el @@ -0,0 +1,18 @@ +;;; module-scala.el + +(use-package scala-mode2 + :mode ("\\.s\\(cala\\|bt\\)$" . scala-mode) + :init (add-hook 'scala-mode-hook 'turn-on-eldoc-mode) + :config + (def-company-backend! scala-mode '(ensime-company (company-yasnippet))) + (def-docset! scala-mode "scala")) + +(use-package sbt-mode + :after scala-mode2) + +(use-package ensime + :commands (ensime ensime-mode ensime-scala-mode-hook) + :init (add-hook 'scala-mode-hook 'ensime-scala-mode-hook)) + +(provide 'module-scala) +;;; module-scala.el ends here