42 lines
1.1 KiB
EmacsLisp
42 lines
1.1 KiB
EmacsLisp
(require 'package)
|
|
|
|
;; Install use-package if not already installed
|
|
(unless (package-installed-p 'use-package)
|
|
(package-refresh-contents)
|
|
(package-install 'use-package))
|
|
|
|
(require 'use-package)
|
|
|
|
;; Enable defer and ensure by default for use-package
|
|
(setq use-package-always-defer t
|
|
use-package-always-ensure t)
|
|
|
|
;; Enable scala-mode and sbt-mode
|
|
(use-package scala-mode
|
|
:mode "\\.s\\(cala\\|bt\\)$")
|
|
|
|
(use-package sbt-mode
|
|
:commands sbt-start sbt-command
|
|
:config
|
|
;; WORKAROUND: https://github.com/ensime/emacs-sbt-mode/issues/31
|
|
;; allows using SPACE when in the minibuffer
|
|
(substitute-key-definition
|
|
'minibuffer-complete-word
|
|
'self-insert-command
|
|
minibuffer-local-completion-map))
|
|
|
|
;; Enable nice rendering of diagnostincs like compile errors.
|
|
(use-package flycheck
|
|
:init (global-flycheck-mode))
|
|
(setq-default flycheck-disabled-checkers '(emacs-lisp-checkdoc))
|
|
|
|
(use-package lsp-mode
|
|
;; Optional - enable lsp-mode automatically in scala files
|
|
:hook (scala-mode . lsp)
|
|
:config (setq lsp-prefer-flymake nil))
|
|
|
|
(use-package lsp-ui)
|
|
|
|
;; Add company-lsp backend for metals
|
|
(use-package company-lsp)
|