Move some stuff
This commit is contained in:
parent
253d185ca3
commit
bcaa83cfd5
57 changed files with 55 additions and 12 deletions
66
user-lisp/icejam-eglot.el
Normal file
66
user-lisp/icejam-eglot.el
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
;;; icejam-eglot -- summary -*- lexical-binding: t; -*-
|
||||
;;; Commentary:
|
||||
;;; Global Language Server Protocol Config
|
||||
;;; Code:
|
||||
|
||||
(eval-when-compile
|
||||
(declare-function eglot-completion-at-point 'eglot)
|
||||
(declare-function eglot-managed-p 'eglot))
|
||||
|
||||
(use-package eglot :ensure nil
|
||||
:config
|
||||
;; Use Ruby-Lsp instead of Solargraph
|
||||
(add-to-list 'eglot-server-programs '((ruby-mode ruby-ts-mode) "ruby-lsp"))
|
||||
|
||||
;; Use gleam LSP
|
||||
(add-to-list 'eglot-server-programs '((gleam-ts-mode) "gleam" "lsp"))
|
||||
|
||||
;; Use Kotlin-LSP provided by Jetbrains
|
||||
(add-to-list 'eglot-server-programs
|
||||
'((kotlin-mode kotlin-ts-mode) "kotlin-lsp" "--stdio"))
|
||||
|
||||
(setopt eglot-advertise-cancellation t)
|
||||
|
||||
;; Automatically kill eglot when last buffer associated with a project is
|
||||
;; closed.
|
||||
(setopt eglot-autoshutdown t)
|
||||
|
||||
(setopt eglot-connect-timeout 60)
|
||||
(setopt eglot-extend-to-xref t)
|
||||
|
||||
;; Set up server specific switches globally
|
||||
(setq-default eglot-workspace-configuration
|
||||
;; Elixir configuration
|
||||
'(:elixirLS (
|
||||
:autoBuild t
|
||||
:dialyzerEnabled t
|
||||
:incrementalDialyzer :json-false
|
||||
:autoInsertRequiredAlias :json-false
|
||||
:suggestSpecs t
|
||||
)))
|
||||
|
||||
;; Eglot insists on adding itself to the completion-at-point-functions but
|
||||
;; that means that it overrides our combined value of (eglot + yasnippet)
|
||||
(add-hook 'eglot-managed-mode-hook
|
||||
(lambda ()
|
||||
(when eglot--managed-mode
|
||||
(remove-hook 'completion-at-point-functions
|
||||
#'eglot-completion-at-point t)))))
|
||||
|
||||
(defun icejam-start-eglot ()
|
||||
"Start eglot unless already started."
|
||||
(unless (eglot-managed-p)
|
||||
(eglot-ensure)))
|
||||
|
||||
(use-package eldoc-box
|
||||
:ensure (:host github :repo "casouri/eldoc-box")
|
||||
:hook ((emacs-lisp-mode . eldoc-box-hover-at-point-mode)
|
||||
(eglot--managed-mode . eldoc-box-hover-at-point-mode))
|
||||
:custom-face
|
||||
(eldoc-box-markdown-separator ((t (:inherit (fringe))))))
|
||||
|
||||
;; Add debugger support to emacs.
|
||||
(use-package dape :ensure t)
|
||||
|
||||
(provide 'icejam-eglot)
|
||||
;;; icejam-eglot.el ends here
|
||||
Loading…
Add table
Add a link
Reference in a new issue