doomemacs/modules/lang/scala/config.el
Henrik Lissner 3643d9e16d
Refactor lang/scala #125
+ Autoload ensime after scala-mode
+ Don't let ensime initialize company; let :company-backend do it
+ Fix void-variable imenu-auto-rescan error caused by
  ensime--setup-imenu.
2017-06-28 12:26:32 +02:00

30 lines
849 B
EmacsLisp

;;; lang/scala/config.el -*- lexical-binding: t; -*-
(def-package! scala-mode
:mode "\\.s\\(cala\\|bt\\)$"
:config
(setq scala-indent:align-parameters t))
(def-package! sbt-mode :after scala-mode)
(def-package! ensime
:after scala-mode
:commands (ensime ensime-mode ensime-scala-mode-hook)
:config
(set! :company-backend 'scala-mode '(ensime-company company-yasnippet))
(setq ensime-startup-snapshot-notification nil
ensime-startup-notification nil
ensime-eldoc-hints t
;; let DOOM handle company setup
ensime-completion-style nil)
(add-hook 'scala-mode-hook #'ensime-mode)
(add-hook 'ensime-mode-hook #'eldoc-mode)
;; Fix void-variable imenu-auto-rescan error caused by `ensime--setup-imenu'
;; trying to make imenu variables buffer local before imenu is loaded.
(require 'imenu))