;;; module-eglot.el --- Eglot support for Emacs ;;; ;;; Commentary: This file provides basic functionality for using Eglot ;;; with Emacs. It's a starting point, not a complete implementation. ;;; Code: (require 'module-pkg) (pkg/require 'eglot) (pkg/require 'go-mode) (add-hook 'go-mode-hook 'eglot-ensure) (add-hook 'c-mode-hook 'eglot-ensure) (defun eglot-format-buffer-before-save () (add-hook 'before-save-hook #'eglot-format-buffer -10 t)) (add-hook 'go-mode-hook #'eglot-format-buffer-before-save) (setq-default eglot-workspace-configuration '((:gopls . ((staticcheck . t) (matcher . "CaseSensitive"))))) (defun go-mode-setup-organize-imports () (add-hook 'before-save-hook (lambda () (call-interactively 'eglot-code-action-organize-imports)) nil t)) (add-hook 'go-mode-hook #'go-mode-setup-organize-imports) (provide 'module-eglot) ;;; module-eglot.el ends here