A Go tool that adds text decorations and colorization to `go test` output for improved readability.
Richgo is a Go command-line tool that enriches the output of `go test` with text decorations, colors, and labels. It parses and styles test results to make them more readable and visually organized, helping developers quickly identify passes, failures, and skips. The tool addresses the plain, monochrome nature of standard Go test output.
Go developers who run tests frequently and want more visually distinct, scannable test output in their terminals. It's particularly useful for those working in complex projects with many tests.
Developers choose Richgo for its immediate improvement in test output readability without modifying test code. It offers extensive customization via YAML configs and integrates into existing workflows, though the author now suggests using pure `go test` for long-term compatibility.
Enrich go test outputs with text decorations.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Colorizes different test categories like PASS (green), FAIL (red), and SKIP (light black) based on default YAML config, making results immediately identifiable in terminals.
Supports YAML configuration files to define colors, labels, and formatting for each line type, allowing per-team standards as shown in the detailed .richstyle format.
Offers a `testfilter` subcommand to integrate with existing CI/CD pipelines without breaking tools like go-junit-report, using tee commands for output filtering.
Includes specific guidance for configuring colors to work with popular terminal themes like Solarized dark, with examples to adjust foreground colors in .richstyle.
The creator explicitly states they no longer use it and recommend adapting to pure `go test`, calling it a 'poor method' and suggesting alternatives in issue #57.
It works by parsing the standard output of `go test`, which is not a stable API and could break with future Go updates, as noted in the README's pipeline integration caveats.
Requires managing multiple YAML config files across directories (e.g., .richstyle in CWD, GOPATH, HOME) and environment variables like RICHGO_LOCAL, adding complexity.