summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.el2
-rw-r--r--lang/go.el18
2 files changed, 12 insertions, 8 deletions
diff --git a/init.el b/init.el
index b51c5da..6d35edb 100644
--- a/init.el
+++ b/init.el
@@ -93,7 +93,7 @@
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
(lookup +dictionary); navigate your code and its documentation
- lsp ; M-x vscode
+ (lsp +eglot) ; M-x vscode
magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs
;;pass ; password manager for nerds
diff --git a/lang/go.el b/lang/go.el
index 654b19f..199053d 100644
--- a/lang/go.el
+++ b/lang/go.el
@@ -1,11 +1,15 @@
;;; lang/go.el -*- lexical-binding: t; -*-
-(after! lsp
- (lsp-register-custom-settings
- '(("gopls.staticcheck" t t))))
+(defun +eglot-organize-imports ()
+ (call-interactively 'eglot-code-action-organize-imports))
-(setq-hook! 'go-mode-hook +format-with :none)
+(when (featurep! :tools lsp +eglot)
+ (after! eglot
+ (add-to-list 'eglot-workspace-configuration
+ `((:gopls . ((staticcheck . t))))))
-(add-hook! 'go-mode-hook
- (add-hook 'before-save-hook 'lsp-format-buffer t t)
- (add-hook 'before-save-hook 'lsp-organize-imports t t))
+ (setq-hook! 'go-mode-hook +format-with :none)
+
+ (add-hook! 'go-mode-hook
+ (add-hook 'before-save-hook #'eglot-format-buffer -30 t)
+ (add-hook 'before-save-hook #'+eglot-organize-imports -20 t)))