summary refs log tree commit diff
path: root/emacs/custom/my-lang-go.el
blob: aa9f43bf71d4899e954bf019807f1abbe146a278 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
;;; my-lang-go.el --- configure emacs for go -*- lexical-binding: t -*-
;; Author: Franck Cuny <franck@fcuny.net>

;;; Commentary:

;;; Code:

(require 'go-mode)
(require 'gotest)
(require 'lsp-mode)

(add-hook 'go-mode-hook #'lsp-deferred)

(defun my/lsp-go-install-save-hooks ()
  "Set up before-save hooks to format buffer and add/delete imports."
  (add-hook 'before-save-hook #'lsp-format-buffer t t)
  (add-hook 'before-save-hook #'lsp-organize-imports t t))

(defun my/go-mode-setup ()
  "Hooks for `go-mode'."
  (setq tab-width 4)
  (setq go-test-verbose t))

(add-hook 'go-mode-hook #'my/lsp-go-install-save-hooks)
(add-hook 'go-mode-hook #'my/go-mode-setup)
(add-hook 'go-mode-hook #'yas-minor-mode)

(provide 'my-lang-go)

;;; my-lang-go.el ends here