           (message "%s" file))
          (t
           (push-mark)
-          (godef--find-file-line-column file))))
+          (godef--find-file-line-column file other-window))))
     (file-error (message "Could not run godef binary"))))
 
+(defun godef-jump-other-window (point)
+  (interactive "d")
+  (godef-jump point t))
+
 (provide 'go-mode)

        (message "Removed %d imports" (length lines)))
      (if flymake-state (flymake-mode-on)))))

(defun godef--find-file-line-column (specifier)
  "Given a file name in the format of `filename:line:column',
visit FILENAME and go to line LINE and column COLUMN."
  (if (not (string-match "\\(.+\\):\\([0-9]+\\):\\([0-9]+\\)" specifier))

    (let ((filename (match-string 1 specifier))
          (line (string-to-number (match-string 2 specifier)))
          (column (string-to-number (match-string 3 specifier))))
      (with-current-buffer (funcall (if other-window 'find-file-other-window 'find-file) filename)
        (goto-char (point-min))
        (forward-line (1- line))
        (beginning-of-line)
