lang/go: add goimports & godoc + more warnings

This commit is contained in:
Henrik Lissner 2017-05-26 02:13:47 +02:00
parent ddef900f6d
commit 009d7c9d49
2 changed files with 28 additions and 9 deletions

View file

@ -4,8 +4,13 @@
:mode "\\.go$"
:interpreter "go"
:config
(setq gofmt-command "goimports")
(add-hook 'go-mode-hook #'flycheck-mode)
(add-hook! go-mode (add-hook 'before-save-hook #'gofmt-before-save nil t))
(if (not (executable-find "goimports"))
(warn "go-mode: couldn't find goimports; no code formatting/fixed imports on save")
(add-hook! go-mode (add-hook 'before-save-hook #'gofmt-before-save nil t)))
(set! :build 'go-build 'go-mode #'+go/build)
(set! :repl 'go-mode #'gorepl-run)
@ -44,13 +49,19 @@
:commands (go-guru-describe go-guru-freevars go-guru-implements go-guru-peers
go-guru-referrers go-guru-definition go-guru-pointsto
go-guru-callstack go-guru-whicherrs go-guru-callers go-guru-callees
go-guru-expand-region))
go-guru-expand-region)
:config
(unless (executable-find "guru")
(warn "go-mode: couldn't find guru, refactoring commands won't work")))
(def-package! company-go
:when (featurep! :completion company)
:after go-mode
:config (set! :company-backend 'go-mode '(company-go)))
:config
(if (executable-find command-go-gocode-command)
(set! :company-backend 'go-mode '(company-go))
(warn "go-mode: couldn't find gocode, code completion won't work")))
(def-package! go-eldoc
@ -59,5 +70,8 @@
(def-package! gorepl-mode
:commands (gorepl-run gorepl-run-load-current-file))
:commands (gorepl-run gorepl-run-load-current-file)
:config
(unless (executable-find "gore")
(warn "go-mode: couldn't find gore, REPL support disabled")))