cmd/guru: add menu to Emacs
Change-Id: Ife18d22f8f9b81a0e898a2b5da202feb1df23852
Reviewed-on: https://go-review.googlesource.com/24832
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/cmd/guru/go-guru.el b/cmd/guru/go-guru.el
index fc289cc..88caf67 100644
--- a/cmd/guru/go-guru.el
+++ b/cmd/guru/go-guru.el
@@ -22,6 +22,7 @@
;;; Code:
(require 'compile)
+(require 'easymenu)
(require 'go-mode)
(require 'json)
(require 'simple)
@@ -94,6 +95,25 @@
(define-key go-mode-map (kbd "C-c C-o") #'go-guru-map)
+(easy-menu-define go-guru-mode-menu go-mode-map
+ "Menu for Go Guru."
+ '("Guru"
+ ["Jump to Definition" go-guru-definition t]
+ ["Show Referrers" go-guru-referrers t]
+ ["Show Free Names" go-guru-freevars t]
+ ["Describe Expression" go-guru-describe t]
+ ["Show Implements" go-guru-implements t]
+ "---"
+ ["Show Callers" go-guru-callers t]
+ ["Show Callees" go-guru-callees t]
+ ["Show Callstack" go-guru-callstack t]
+ "---"
+ ["Show Points-To" go-guru-pointsto t]
+ ["Show Which Errors" go-guru-whicherrs t]
+ ["Show Channel Peers" go-guru-peers t]
+ "---"
+ ["Set pointer analysis scope..." go-guru-set-scope t]))
+
;;;###autoload
(defun go-guru-set-scope ()
"Set the scope for the Go guru, prompting the user to edit the previous scope.