1
0
mirror of https://github.com/golang/go synced 2024-11-15 02:50:31 -07:00

[release-branch.go1.2] misc/emacs: support godef-jump on import statements

««« CL 18230043 / f2b59b5163b0
misc/emacs: support godef-jump on import statements

The newest version of godef supports jumping to a package's source
directory if point is on an import statement.

R=adonovan
CC=golang-dev
https://golang.org/cl/18230043

»»»

R=golang-dev
CC=golang-dev
https://golang.org/cl/20620043
This commit is contained in:
Andrew Gerrand 2013-11-01 11:24:57 +11:00 committed by Alan Donovan
parent 744d53cdeb
commit 2737f274f5

View File

@ -950,11 +950,12 @@ will be commented, otherwise they will be removed completely."
"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))
(error "Unexpected godef output: %s" specifier)
;; We've only been given a directory name
(funcall (if other-window #'find-file-other-window #'find-file) 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)
(with-current-buffer (funcall (if other-window #'find-file-other-window #'find-file) filename)
(go--goto-line line)
(beginning-of-line)
(forward-char (1- column))
@ -1008,6 +1009,8 @@ description at POINT."
(message "%s" file))
((go--string-prefix-p "godef: no declaration found for " file)
(message "%s" file))
((go--string-prefix-p "error finding import path for " file)
(message "%s" file))
(t
(push-mark)
(ring-insert find-tag-marker-ring (point-marker))