|
||
---|---|---|
cmd | ||
.gitignore | ||
COPYING | ||
README.md | ||
go.mod | ||
go.sum | ||
main.go |
README.md
go-type-chains
go-type-chains
outputs Graphviz encodings of
dependencies between files in a Go package.
Usage
Say you have a Go package in directory foo/
. Run
go-type-chains -p foo/
to get a Graphviz encoding where each source file in foo/
is represented by a
node, and each edge from A to B indicates that A uses a type or value that is
declared in B.
If you import outside packages, use the -i
flag to list those packages;
otherwise the program will error.
Details
Why?
You may find this useful if you have a package with a lot of autogenerated Go code that you want to organize into subpackages. (This is the original reason I wrote this, although I didn't end up doing any reorganzation on the package I was analyzing. But by the time I decided that, I had written enough code that I thought I should share.)