From 417f3bc892bc4319a88df44e16730f80fbc05f63 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 1 Apr 2025 17:39:50 -0400 Subject: [PATCH] refactor!(go): remove go-eldoc & company-go BREAKING CHANGE: This removes company and non-LSP integration from the Go module, in order to reduce the complexity of the module, reduce dependencies on Company, and lean more on LSP, which provides these features with more reliability and consistency. Switch to :tools lsp and install a Go LSP client to get these features back. --- modules/lang/go/config.el | 14 ++------------ modules/lang/go/packages.el | 4 ---- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/modules/lang/go/config.el b/modules/lang/go/config.el index 36dec91c2..e26bf19ec 100644 --- a/modules/lang/go/config.el +++ b/modules/lang/go/config.el @@ -9,9 +9,8 @@ (set-lookup-handlers! 'go-mode :documentation #'godoc-at-point) - (if (modulep! +lsp) - (add-hook 'go-mode-local-vars-hook #'lsp! 'append) - (add-hook 'go-mode-hook #'go-eldoc-setup)) + (when (modulep! +lsp) + (add-hook 'go-mode-local-vars-hook #'lsp! 'append)) (when (modulep! +tree-sitter) (add-hook 'go-mode-local-vars-hook #'tree-sitter! 'append)) @@ -52,15 +51,6 @@ :commands gorepl-run-load-current-file) -(use-package! company-go - :when (modulep! :completion company) - :unless (modulep! +lsp) - :after go-mode - :config - (set-company-backend! 'go-mode 'company-go) - (setq company-go-show-annotation t)) - - (use-package! flycheck-golangci-lint :when (modulep! :checkers syntax -flymake) :hook (go-mode . flycheck-golangci-lint-setup)) diff --git a/modules/lang/go/packages.el b/modules/lang/go/packages.el index be3885159..b48aecf6f 100644 --- a/modules/lang/go/packages.el +++ b/modules/lang/go/packages.el @@ -1,14 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/go/packages.el -(package! go-eldoc :pin "cbbd2ea1e94a36004432a9ac61414cb5a95a39bd") (package! go-mode :pin "0ed3c5227e7f622589f1411b4939c3ee34711ebd") (package! gorepl-mode :pin "6a73bf352e8d893f89cad36c958c4db2b5e35e07") (package! go-tag :pin "33f2059551d5298ca228d90f525b99d1a8d70364") (package! go-gen-test :pin "af00a9abbaba2068502327ecdef574fd894a884b") -(when (modulep! :completion company) - (package! company-go :pin "31948b463f2fc18f8801e5a8fe511fef300eb3dd")) - (when (modulep! :checkers syntax -flymake) (package! flycheck-golangci-lint :pin "424ba1b3a13f5548c440b7a25822932ad4b51cd6"))