Skip to content

Latest commit

 

History

History
53 lines (30 loc) · 2.84 KB

README.md

File metadata and controls

53 lines (30 loc) · 2.84 KB

go-toolsmith.github.io

Site for Go tools crafters: combined documentation for go-toolsmith packages, external references and other useful resources.

There are two major project goals:

  1. Provide reusable libraries that make Go tools implementation easier.
  2. Knowledge sharing. Make tools development less frustrating by providing docs for parts that are not easy to grasp and/or hard to find on the internet for whatever reason.

Packages

List of packages maintained under go-toolsmith project.

Package astinfo records useful AST information like node parents and such.

Package astcopy implements Go AST deep copy operations.

Package astequal provides AST (deep) equallity check operations.

Package astfmt implements ast.Node formatting with fmt-like API.

Package astp provides AST predicates.

Package astcast wraps type assertion operations in such way that you don't have to worry about nil pointer results anymore.

Package strparse provides convenience wrappers around go/parser for simple expr/stmt/decl parsing from string.

Package typep provides type predicates.

Users

Projects that use go-toolsmith and are willing to share that fact.