2017-06-08 11:47:56 +02:00
|
|
|
;;; lang/scala/config.el -*- lexical-binding: t; -*-
|
2016-05-11 18:41:29 -04:00
|
|
|
|
2018-05-25 00:46:11 +02:00
|
|
|
(after! scala-mode
|
|
|
|
(setq scala-indent:align-parameters t)
|
2018-09-19 00:01:33 -04:00
|
|
|
(after! dtrt-indent
|
|
|
|
(add-to-list 'dtrt-indent-hook-mapping-list '(scala-mode c/c++/java scala-indent:step))))
|
2016-05-11 18:41:29 -04:00
|
|
|
|
|
|
|
|
2019-02-21 16:08:27 -05:00
|
|
|
(def-package! ensime
|
|
|
|
:unless (featurep! +lsp)
|
|
|
|
:defer t
|
|
|
|
:config
|
2017-06-04 02:29:39 +02:00
|
|
|
(setq ensime-startup-snapshot-notification nil
|
|
|
|
ensime-startup-notification nil
|
2017-07-23 15:07:57 +02:00
|
|
|
ensime-eldoc-hints 'all
|
2017-06-27 01:26:40 +02:00
|
|
|
;; let DOOM handle company setup
|
|
|
|
ensime-completion-style nil)
|
|
|
|
|
2018-06-15 02:58:12 +02:00
|
|
|
(set-company-backend! 'scala-mode '(ensime-company company-yasnippet))
|
2018-05-25 00:46:11 +02:00
|
|
|
|
2017-06-27 01:26:40 +02:00
|
|
|
;; 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))
|
2016-05-11 18:41:29 -04:00
|
|
|
|
2018-05-25 00:46:11 +02:00
|
|
|
|
|
|
|
(def-package! sbt-mode
|
|
|
|
:after scala-mode
|
2018-06-15 16:07:24 +02:00
|
|
|
:config (set-repl-handler! 'scala-mode #'run-scala))
|
2019-02-21 16:08:27 -05:00
|
|
|
|
|
|
|
|
|
|
|
(def-package! lsp-scala
|
|
|
|
:when (featurep! +lsp)
|
|
|
|
:after scala-mode
|
|
|
|
:init (add-hook 'scala-mode-hook #'+lsp|init))
|