   (interactive)
   (go-oracle--run "referrers"))
 
-;; TODO(adonovan): don't mutate the keymap; just document how users
-;; can do this themselves.  But that means freezing the API, so don't
-;; do that yet; wait till v1.0.
-(add-hook 'go-mode-hook
-          #'(lambda () (local-set-key (kbd "<f4>") #'go-oracle-describe)))
+;; TODO(dominikh): better docstring
+(define-minor-mode go-oracle-mode "Oracle minor mode for go-mode
+
+Keys specific to go-oracle-mode:
+\\{go-oracle-mode-map}"
+  nil " oracle" go-oracle-mode-map)
 
 (provide 'go-oracle)

  nil
  "History of values supplied to `go-oracle-set-scope'.")

(defun go-oracle-set-scope ()
  "Sets the scope for the Go oracle, prompting the user to edit the
previous scope.

The scope specifies a set of arguments, separated by spaces.

;;; % mv $GOPATH/bin/oracle $GOROOT/bin/
;;;
;;; Load this file into Emacs and set go-oracle-scope to your
;;; configuration. Then, find a file of Go source code, enable
;;; go-oracle-mode, select an expression of interest, and press `C-c C-o d'
;;; (for "describe") or run one of the other go-oracle-xxx commands.
;;;
;;; TODO(adonovan): simplify installation and configuration by making
;;; oracle a subcommand of 'go tool'.
