From 3643d9e16dcde7af7bd7eea5343be11fc361e560 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 27 Jun 2017 01:26:40 +0200 Subject: [PATCH] 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. --- modules/lang/scala/config.el | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/lang/scala/config.el b/modules/lang/scala/config.el index 58fef56c1..250d1d2bf 100644 --- a/modules/lang/scala/config.el +++ b/modules/lang/scala/config.el @@ -3,20 +3,28 @@ (def-package! scala-mode :mode "\\.s\\(cala\\|bt\\)$" :config - (add-hook 'scala-mode-hook #'ensime-mode) - (setq scala-indent:align-parameters t) - (set! :company-backend 'scala-mode '(ensime-company company-yasnippet))) + (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) + ensime-eldoc-hints t + ;; let DOOM handle company setup + ensime-completion-style nil) - (add-hook 'ensime-mode-hook #'eldoc-mode)) + (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))