commit 67fc282afecf9326047e44e69424bb840f9e889d
parent bfc01de7367fd7fdea1533461da1a18d6d1ff936
Author: Shimmy Xu <shimmy.xu@shimmy1996.com>
Date: Thu, 21 Mar 2019 14:28:55 -0400
Add support for go-mode.
Diffstat:
1 file changed, 29 insertions(+), 0 deletions(-)
diff --git a/README.org b/README.org
@@ -1190,6 +1190,35 @@ This is a minor mode for interacting with a Julia REPL running inside Emacs.
(add-hook 'flycheck-mode-hook #'flycheck-julia-setup)))
#+END_SRC
+** Go-mode
+Remember to set =$GOPATH= environment variable and add =$GOPATH/bin= to =$PATH=.
+
+*** Go-mode
+#+BEGIN_SRC emacs-lisp
+ (use-package go-mode
+ :ensure t
+ :init
+ (add-to-list 'auto-mode-alist '("\\.go\\'" . go-mode)))
+#+END_SRC
+
+*** company-go
+Auto complete for =go=. This relies on =gocode= to be installed using =go get=. Either install from [[https://github.com/mdempsky/gocode][github.com/mdempsky/gocode]] or [[https://github.com/stamblerre/gocode][github.com/stamblerre/gocode]] (supports go-modules).
+
+#+BEGIN_SRC emacs-lisp
+ (use-package company-go
+ :ensure t
+ :init (add-to-list 'company-backends
+ 'company-go))
+#+END_SRC
+
+*** go-guru
+Helpful code analysis tool, requires [[https://godoc.org/golang.org/x/tools/cmd/guru][golang.org/x/tools/cmd/guru]].
+
+#+BEGIN_SRC emacs-lisp
+ (use-package go-guru
+ :ensure t)
+#+END_SRC
+
* Enhancements
Packages providing enhancements to Emacs interface. Mostly simple plug-and-play
packages. Load enhancements in the end to prevent their dependencies getting