README

## godef - find symbol information in Go source

Godef, given an expression or a location in a source file, prints the
location of the definition of the symbol referred to.

Known limitations:

- it does not understand about "." imports
- it does not deal well with definitions in tests.

Documentation

Overview

Godef prints the source location of definitions in Go programs.

Usage:

godef [-t] [-a] [-A] [-o offset] [-i] [-f file][-acme] [expr]

File specifies the source file in which to evaluate expr. Expr must be an identifier or a Go expression terminated with a field selector.

If expr is not given, then offset specifies a location within file, which should be within, or adjacent to an identifier or field selector.

If the -t flag is given, the type of the expression will also be printed. The -a flag causes all the public members (fields and methods) of the expression, and their location, to be printed also; the -A flag prints private members too.

If the -i flag is specified, the source is read from standard input, although file must still be specified so that other files in the same source package may be found.

If the -acme flag is given, the offset, file name and contents are read from the current acme window.

Example:

$ cd $GOROOT
$ godef -f src/pkg/xml/read.go 'NewParser().Skip'
src/pkg/xml/read.go:384:18
$

Directories

Path Synopsis
go
ast
Package ast declares the types used to represent syntax trees for Go packages.
Package ast declares the types used to represent syntax trees for Go packages.
parser
A parser for Go source files.
A parser for Go source files.
printer
Package printer implements printing of AST nodes.
Package printer implements printing of AST nodes.
scanner
Package scanner implements a scanner for Go source text.
Package scanner implements a scanner for Go source text.
sym
The sym package provides a way to iterate over and change the symbols in Go source files.
The sym package provides a way to iterate over and change the symbols in Go source files.
token
This package defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
This package defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
types
Types infers source locations and types from Go expressions.
Types infers source locations and types from Go expressions.