Update of prelude-go to replace gocode backend with lsp-mode and gopls ()

This commit is contained in:
Liam 2022-04-17 01:16:33 -04:00 committed by GitHub
parent 7bca056c46
commit ea42da05c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 104 additions and 12 deletions

View file

@ -29,11 +29,13 @@
;;; Code:
(require 'prelude-programming)
(require 'prelude-lsp)
(prelude-require-packages '(go-mode
company-go
go-eldoc
go-projectile
lsp-mode
lsp-ui
company
gotest))
(require 'go-projectile)
@ -58,23 +60,25 @@
(when goimports
(setq gofmt-command goimports)))
;; gofmt on save
(add-hook 'before-save-hook 'gofmt-before-save nil t)
;; stop whitespace being highlighted
(whitespace-toggle-options '(tabs))
;; Company mode settings
(set (make-local-variable 'company-backends) '(company-go))
;; El-doc for Go
(go-eldoc-setup)
;; CamelCase aware editing operations
(subword-mode +1))
(setq prelude-go-mode-hook 'prelude-go-mode-defaults)
;; if yas is present, this enables yas-global-mode
;; which provides completion via company
(if (fboundp 'yas-global-mode)
(yas-global-mode))
;; configure lsp for go
(defun lsp-go-install-save-hooks ()
(add-hook 'before-save-hook #'lsp-format-buffer t t)
(add-hook 'before-save-hook #'lsp-organize-imports t t))
(add-hook 'go-mode-hook #'lsp-go-install-save-hooks)
(add-hook 'go-mode-hook #'lsp-deferred)
(setq prelude-go-mode-hook 'prelude-go-mode-defaults)
(add-hook 'go-mode-hook (lambda ()
(run-hooks 'prelude-go-mode-hook))))