Files
.emacs.d/lisp/init-eglot.el

51 lines
1.4 KiB
EmacsLisp
Raw Normal View History

2025-12-14 23:00:58 +11:00
;; -*- lexical-binding: t; -*-
2025-12-15 00:26:46 +11:00
2025-12-15 00:56:00 +11:00
(use-package jsonrpc)
2025-12-15 00:26:46 +11:00
2025-12-14 23:00:58 +11:00
(use-package eglot
2026-03-22 23:57:48 +11:00
:defer t
2025-12-17 03:29:19 +11:00
:hook ((prog-mode . (lambda ()
(unless (derived-mode-p
'emacs-lisp-mode 'lisp-mode
'makefile-mode 'snippet-mode
2026-02-25 22:18:53 +11:00
'lisp-interaction-mode
2025-12-17 03:29:19 +11:00
'ron-mode)
(eglot-ensure))))
2025-12-24 06:55:06 +08:00
((markdown-mode yaml-mode yaml-ts-mode) . eglot-ensure))
2026-02-25 22:18:53 +11:00
:bind (:map eglot-mode-map
("C-c c a" . eglot-code-actions))
:config
(setq completion-category-defaults nil)
2025-12-24 06:55:06 +08:00
(setq eglot-autoshutdown t
eglot-events-buffer-config 0
eglot-send-changes-idle-time 0.5
2026-02-25 22:18:53 +11:00
eglot-code-action-indications '(eldoc-hint)))
2025-12-14 23:00:58 +11:00
(use-package eglot-booster
2025-12-14 23:46:29 +11:00
:ensure (eglot-booster :type git :host nil :repo "https://github.com/jdtsmith/eglot-booster")
:after eglot
:config (eglot-booster-mode))
2025-12-14 23:00:58 +11:00
2025-12-24 06:55:06 +08:00
(use-package flycheck-eglot
:hook (eglot-managed-mode . flycheck-eglot-mode))
2025-12-22 19:51:38 +11:00
2025-12-14 23:00:58 +11:00
(use-package consult-eglot
:after consult eglot
:bind (:map eglot-mode-map
2025-12-24 06:55:06 +08:00
([remap xref-find-apropos] . consult-eglot-symbols))
2025-12-14 23:46:29 +11:00
:config
(advice-add 'eglot-completion-at-point :around #'cape-wrap-buster))
2026-02-22 20:02:12 +11:00
;; (use-package eldoc-box
;; :hook (eglot-managed-mode . eldoc-box-hover-at-point-mode))
2026-02-25 22:12:47 +11:00
(use-package eldoc
:ensure nil
:diminish)
2026-02-22 20:02:12 +11:00
(use-package eldoc-mouse
2026-02-25 22:12:47 +11:00
:diminish
2026-02-22 20:02:12 +11:00
:hook eldoc-mode)
2025-12-14 23:00:58 +11:00
2025-12-22 19:51:38 +11:00
(provide 'init-eglot)