-
-
Save dseeni/5dd8a986a16bc3809bf3b69baebab721 to your computer and use it in GitHub Desktop.
LSP Doom Emacs Module
This file contains hidden or 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 hidden or 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