emacs.d

My emacs configuration, done in a literate programming fashion using org-mode

git clone git://git.shimmy1996.com/emacs.d.git
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:
MREADME.org | 29+++++++++++++++++++++++++++++
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