spacemacs/contrib/lang/scala/packages.el

45 lines
1.4 KiB
EmacsLisp
Raw Normal View History

(defvar scala-packages
2014-12-14 04:29:23 +00:00
'(
ensime
sbt-mode
scala-mode2
)
"List of all packages to install and/or initialize. Built-in packages
which require an initialization must be listed explicitly in the list.")
(defun spacemacs/init-ensime ()
(use-package ensime
2014-12-29 20:47:56 +00:00
:commands (ensime-mode)
:init
(add-hook 'scala-mode-hook 'ensime-mode)
2014-12-29 20:40:56 +00:00
:config
(progn
(evil-define-key 'normal scala-mode-map "J" 'spacemacs/scala-join-line)
(evil-define-key 'normal ensime-popup-buffer-map
(kbd "q") 'ensime-popup-buffer-quit-function)
(evil-define-key 'normal ensime-refactor-info-map
(kbd "q") 'spacemacs/ensime-refactor-cancel
(kbd "c") 'spacemacs/ensime-refactor-accept
(kbd "RET") 'spacemacs/ensime-refactor-accept)
(evil-define-key 'normal ensime-compile-result-map
(kbd "g") 'ensime-show-all-errors-and-warnings
(kbd "TAB") 'forward-button
(kbd "<backtab>") 'backward-button
(kbd "M-n") 'forward-button
2014-12-29 20:59:27 +00:00
(kbd "M-p") 'backward-button)
;; Don't use scala checker if ensime mode is active, since it provides
;; better error checking.
(eval-after-load 'flycheck
'(progn
(defun spacemacs/flycheck-use-scalastyle ()
(when ensime-mode
(flycheck-select-checker 'scala-scalastyle)))
(add-hook 'flycheck-before-syntax-check-hook
'spacemacs/flycheck-use-scalastyle))))))