M lisp/setup-dev.el => lisp/setup-dev.el +16 -0
@@ 68,6 68,22 @@
:defer t)
+(use-package lsp-mode
+ :hook (scala-mode . lsp)
+ :custom
+ (lsp-prefer-flymake nil)
+ :config
+ (progn
+ (evil-collection-define-key 'normal 'lsp-mode-map
+ "gd" 'lsp-find-definition
+ (kbd "C-t") 'xref-pop-marker-stack
+ "K" 'lsp-describe-thing-at-point)))
+
+
+(use-package company-lsp
+ :after (company lsp-mode))
+
+
(use-package zygospore
:bind (("C-x 1" . zygospore-toggle-delete-other-windows)))
M lisp/setup-scala.el => lisp/setup-scala.el +12 -0
@@ 1,3 1,15 @@
(use-package scala-mode
:custom
(scala-indent:step 4))
+
+(use-package sbt-mode
+ :commands sbt-start sbt-command
+ :config
+ (substitute-key-definition
+ 'minibuffer-complete-word
+ 'self-insert-command
+ minibuffer-local-completion-map))
+
+(with-eval-after-load 'eglot
+ (add-to-list 'eglot-server-programs
+ '(scala-mode . ("metals-emacs"))))