Skip to content

timtatt/sift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sift

A lightweight terminal UI for displaying Go tests.

Screenshot of the Sift UI

Sift solves the problem of verbose Go test logs by allowing you to show/hide the logs at an individual tests level.

Installation

go install github.com/timtatt/[email protected]

Usage

sift works by consuming the verbose json output from the go test command. The easiest way to use it is to pipe | the output straight into sift

go test {your-go-package} -v -json | sift

# eg. 
go test ./... -v -json | sift

Keymaps

To see the available keymaps, press ?. The keymaps are based on vim motion standard keymaps for scrolling and managing folds

Search

Press / to search and filter tests:

  • Type to filter tests using fuzzy matching (case-insensitive)
  • Press enter to exit search mode while keeping the filter active
  • Press esc to clear the search filter and show all tests

Feature Roadmap

  • Accordion levels based on '/'
  • Nesting the child tests
  • Search for tests with '/'
  • Filter tests by status (pass/fail/skip)
  • Support for light mode
  • Add inline mode to show test summary
  • Add animated chars

Bug Fixes

  • Add responsive wrapping for the help
  • When items collapsed and viewport is too large, rerender to remove whitespace

Credits

The UI design of sift is heavily inspired by the vitest cli

About

A lightweight terminal UI for displaying Go tests

Resources

License

Stars

Watchers

Forks

Packages

No packages published