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
|
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)
|