Created
December 31, 2018 20:40
-
-
Save 505aaron/f98832bed22a5dec7c678c106ba70133 to your computer and use it in GitHub Desktop.
LSP Doom Emacs Module
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; completion/lsp/config.el -*- lexical-binding: t; -*- | |
(def-package! lsp-mode | |
:commands (lsp-mode lsp-define-stdio-client)) | |
(def-package! lsp-ui | |
:hook (lsp-mode . lsp-ui-mode) | |
:config | |
(set-lookup-handlers! 'lsp-ui-mode | |
:definition #'lsp-ui-peek-find-definitions | |
:references #'lsp-ui-peek-find-references) | |
(setq lsp-ui-doc-max-height 16 | |
lsp-ui-doc-max-width 50 | |
lsp-ui-sideline-ignore-duplicate t)) | |
(def-package! dap-mode | |
:after lsp-mode | |
:config | |
(dap-mode t) | |
(dap-ui-mode t)) | |
(def-package! lsp-typescript | |
:when (featurep! +javascript) | |
:hook ((js2-mode typescript-mode) . lsp-typescript-enable)) | |
(def-package! company-lsp | |
:after lsp-mode | |
:config | |
(set-company-backend! 'lsp-mode 'company-lsp) | |
(setq company-lsp-enable-recompletion t)) | |
(def-package! lsp-css | |
:when (featurep! +css) | |
:hook ((css-mode less-mode scss-mode) . lsp-css-enable)) | |
(def-package! lsp-java | |
:when (featurep! +java)) | |
(def-package! dap-java | |
:after lsp-java) | |
(when (featurep! +sh) | |
(after! sh-script | |
(lsp-define-stdio-client lsp-sh | |
"sh" | |
#'projectile-project-root | |
'("bash-language-server" "start")) | |
(add-hook 'sh-mode-hook #'lsp-sh-enable))) | |
(when (featurep! +java) | |
(after! cc-mode | |
(add-hook! java-mode #'lsp)) | |
;; TODO This doesn't auto configure treemacs and java lsp. I currently have to manually invoke this function. | |
(after! treemacs | |
(use-package lsp-java-treemacs))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; -*- no-byte-compile: t; -*- | |
;;; completion/lsp/packages.el | |
(when (package! lsp-mode) | |
(package! lsp-ui) | |
(package! company-lsp) | |
(package! dap-mode) | |
(when (featurep! +javascript) | |
(package! lsp-typescript | |
:recipe (:fetcher | |
github | |
:repo "emacs-lsp/lsp-javascript" | |
:files ("lsp-typescript.el"))) | |
(package! tide :disable t)) | |
(when (featurep! +css) | |
(package! lsp-css | |
:recipe (:fetcher | |
github | |
:repo "emacs-lsp/lsp-css"))) | |
(when (featurep! +ocaml) | |
(package! lsp-ocaml)) | |
(when (featurep! +java) | |
(packages! lsp-java)) | |
(when (featurep! +sh) | |
(package! company-shell :disable t))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment