From 79980af6f8a1991b127864884df2913d38ad388c Mon Sep 17 00:00:00 2001 From: syl20bnr Date: Sat, 14 Feb 2015 22:44:06 -0500 Subject: [PATCH] Skip go-oracle configuration if GOPATH not found --- contrib/lang/go/extensions.el | 42 +++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/contrib/lang/go/extensions.el b/contrib/lang/go/extensions.el index ffc447251..577ae0e01 100644 --- a/contrib/lang/go/extensions.el +++ b/contrib/lang/go/extensions.el @@ -23,23 +23,31 @@ ;; https://github.com/jwiegley/use-package (defun go/init-go-oracle() - (load-file "$GOPATH/src/code.google.com/p/go.tools/cmd/oracle/oracle.el") - (add-hook 'go-mode-hook 'go-oracle-mode) - (spacemacs|diminish go-oracle-mode " O") - (evil-leader/set-key-for-mode 'go-mode - "moo" 'go-oracle-set-scope - "mo<" 'go-oracle-callers - "mo>" 'go-oracle-callees - "moc" 'go-oracle-peers - "mod" 'go-oracle-definition - "mof" 'go-oracle-freevars - "mog" 'go-oracle-callgraph - "moi" 'go-oracle-implements - "mop" 'go-oracle-pointsto - "mor" 'go-oracle-referrers - "mos" 'go-oracle-callstack - "mot" 'go-oracle-describe - )) + (let ((go-path (getenv "GOPATH"))) + (if (not go-path) + (spacemacs/message (concat "Warning: GOPATH variable not found, " + "go-oracle configuration skipped.")) + (load-file (concat (file-name-as-directory go-path) + "src/code.google.com/p/go.tools/cmd/oracle/oracle.el")) + (add-hook 'go-mode-hook 'go-oracle-mode) + (spacemacs|diminish go-oracle-mode " O") + (evil-leader/set-key-for-mode 'go-mode + "moo" 'go-oracle-set-scope + "mo<" 'go-oracle-callers + "mo>" 'go-oracle-callees + "moc" 'go-oracle-peers + "mod" 'go-oracle-definition + "mof" 'go-oracle-freevars + "mog" 'go-oracle-callgraph + "moi" 'go-oracle-implements + "mop" 'go-oracle-pointsto + "mor" 'go-oracle-referrers + "mos" 'go-oracle-callstack + "mot" 'go-oracle-describe) + + ) + ) + ) (defun go/init-go-rename() (use-package go-rename