2017-02-19 18:57:16 -05:00
|
|
|
;;; lang/go/config.el
|
2015-06-15 09:06:10 +02:00
|
|
|
|
2017-02-23 00:06:12 -05:00
|
|
|
(def-package! go-mode
|
2015-06-15 09:06:10 +02:00
|
|
|
:mode "\\.go$"
|
|
|
|
:interpreter "go"
|
2015-09-28 05:51:46 -04:00
|
|
|
:init
|
2016-05-13 00:28:44 -04:00
|
|
|
(add-hook 'go-mode-hook 'flycheck-mode)
|
2017-02-23 00:06:12 -05:00
|
|
|
(add-hook! go-mode (add-hook 'before-save-hook 'gofmt-before-save))
|
2016-04-19 02:10:43 -04:00
|
|
|
:config
|
2017-02-23 00:06:12 -05:00
|
|
|
(set! :build 'go-build 'go-mode '+go/build)
|
|
|
|
(set! :company-backend 'go-mode '(company-go company-yasnippet))
|
|
|
|
(set! :repl 'go-mode 'gorepl-run)
|
2017-02-19 18:57:16 -05:00
|
|
|
|
2017-02-23 00:06:12 -05:00
|
|
|
(map! :map go-mode-map
|
2015-11-30 05:31:20 -05:00
|
|
|
:n "gd" 'godef-jump
|
|
|
|
(:localleader
|
2017-02-28 12:11:18 -05:00
|
|
|
:n "fh" 'godef-describe
|
|
|
|
(:prefix "r"
|
2017-03-16 17:25:57 -04:00
|
|
|
:n "i" 'go-remove-unused-imports
|
|
|
|
:nv "f" 'gofmt)
|
2017-02-28 12:11:18 -05:00
|
|
|
(:prefix "t"
|
|
|
|
:n "r" '+go/test-run-all
|
|
|
|
:n "a" '+go/test-run-all
|
|
|
|
:n "s" '+go/test-run-package))))
|
2017-02-19 18:57:16 -05:00
|
|
|
|
|
|
|
|
2017-02-23 00:06:12 -05:00
|
|
|
(def-package! company-go :after go-mode)
|
2017-02-19 18:57:16 -05:00
|
|
|
|
|
|
|
|
2017-02-23 00:06:12 -05:00
|
|
|
(def-package! go-eldoc
|
2017-02-19 18:57:16 -05:00
|
|
|
:after go-mode
|
2016-05-13 00:28:44 -04:00
|
|
|
:init (add-hook 'go-mode-hook 'go-eldoc-setup))
|
2016-04-23 22:08:46 -04:00
|
|
|
|
|
|
|
|
2017-02-23 00:06:12 -05:00
|
|
|
(def-package! gorepl-mode
|
2017-02-19 18:57:16 -05:00
|
|
|
:commands (gorepl-run gorepl-run-load-current-file))
|
2016-04-23 22:08:46 -04:00
|
|
|
|