doomemacs/modules/lang/java/+lsp.el

26 lines
996 B
EmacsLisp
Raw Normal View History

;;; lang/java/+lsp.el -*- lexical-binding: t; -*-
;;;###if (featurep! +lsp)
;;;###autoload
(defun +java/update-lsp-server ()
(interactive)
(lsp--install-server-internal (gethash 'jdtls lsp-clients) t))
(add-hook! java-mode-local-vars #'lsp!)
(map! :map java-mode-map
:localleader
:desc "Update the Eclipse LSP server" "U" #'+java/update-lsp-server
:desc "Open the test browser" "T" #'lsp-jt-browser)
;; TODO: This fails on the first java buffer opened - complains about the LSP server not having executeCode capabilities.
(defun java--lsp-jt-lens-mode-hook ()
(when (derived-mode-p 'java-mode) (lsp-jt-lens-mode)))
(use-package! lsp-java
:after (lsp-clients dap-mode)
:hook (lsp-mode . java--lsp-jt-lens-mode-hook)
2020-03-27 21:39:27 -04:00
:preface
(setq lsp-java-server-install-dir (concat doom-etc-dir "eclipse.jdt.ls/server/")
lsp-java-workspace-dir (concat doom-etc-dir "java-workspace")
lsp-jt-root (concat doom-etc-dir "eclipse.jdt.ls/server/java-test/server")))