From f6d8d8d6ffaf7d3b1d412f8a87a44ec27e15bff8 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Fri, 27 Jan 2017 14:56:30 -0800 Subject: [Emacs] Improve support for Golang. Install a few extra packages (go-guru, gotest); rewrite the hooks into a function; don't display tabs with withespace mode. --- emacs.d/init.el | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) (limited to 'emacs.d/init.el') diff --git a/emacs.d/init.el b/emacs.d/init.el index d44a982..0408dd6 100644 --- a/emacs.d/init.el +++ b/emacs.d/init.el @@ -230,26 +230,32 @@ :ensure t :config - (when (memq window-system '(mac ns x)) - (dolist (var '("GOPATH")) - (unless (getenv var) - (exec-path-from-shell-copy-env var)))) - (use-package go-eldoc - :ensure t - :config - (add-hook 'go-mode-hook 'go-eldoc-setup)) - (use-package gotest - :ensure t) - (add-hook 'before-save-hook 'gofmt-before-save) - (add-hook 'go-mode-hook (lambda () (setq-local tab-width 4)))) - -(use-package hl-line - ;; highlight current line - :defer t - :init (progn - (add-hook 'text-mode-hook 'hl-line-mode) - (add-hook 'prog-mode-hook 'hl-line-mode))) + (when (memq window-system '(mac ns x)) + (dolist (var '("GOPATH")) + (unless (getenv var) + (exec-path-from-shell-copy-env var)))) + + (use-package go-eldoc + :ensure t + :config + (add-hook 'go-mode-hook 'go-eldoc-setup)) + + (use-package gotest + :ensure t) + + (use-package go-guru + :ensure t) + + (defun fc/my-go-hook () + (set (make-local-variable 'compile-command) + "go build -v && go test -v && go vet") + (setq-local tab-width 4) + (make-variable-buffer-local 'whitespace-style) + (setq whitespace-style (delq 'tabs whitespace-style))) + + (add-hook 'before-save-hook 'gofmt-before-save) + (add-hook 'go-mode-hook 'fc/my-go-hook))) (use-package ibuffer ;; configuration for ibuffer -- cgit 1.4.1