To better allow for metalinters and toolchains to integrate with erris,
this change exposes an golang.org/x/tools/go/analysis.Analyzer and
reorganises things to this end.
github.com/romanyx/erris/internal/checker has been mostly replaced with
logic from golang.org/x/tools/go/analysis. This traditionally lives at
the root, and cannot be put under an internal repo, thus has been moved
to the root. The remaining vestages live on as erris.run, which reports
instead of returns the errors to the analysis.Pass.
The ignoretests flag is, imo, incompatible with the analysis tooling,
thus has been retained, but deprecated, and is now a noop. It can be
removed when appropriate.
github.com/romanyx/erris/internal/visitor has been updated to talk about
analysis.Pass not packages.Package. This change was seamless because the
only portions of Package that were used are also in Pass.
Because the root now contains the exposed library interface, the main
package has been moved to the canonical cmd directory:
github.com/romanyx/erris/cmd/erris. This is a breaking change, thus the
documentation has been updated.