Frames look pretty bad in Buildkite, and they look even worse when piped. This PR adds alternate frame-edge renderers for BK and pipe contexts. The test file shows the format differences pretty well.
This can lead to a leak of colouring.
When using prompt.ask my terminal produce this weird char.
and why each time question is ask there is "?" infront and the box will cut out.
Progress bar seem to print on prompt when wrap in the same frame.
Seems that there's a timing issue writing out `⠋` before `✗` in `test/dev/ui/spinner_test.rb:75 (test_spinner_error)`. This fails about 20% of the time:
$ while true; do SEED=28727 ./bin/testunit; [[ $? -ne 0 ]] && break; done
Run options: --seed 28727
Finished in 0.989000s, 42.4671 runs/s, 154.7017 assertions/s.
Expected /⠋ broken/ to match "✗ broken".
42 runs, 153 assertions, 1 failures, 0 errors, 0 skips
More succinctly: `while true; do ruby -I "test/" ./test/dev/ui/spinner_test.rb; [[ $? -ne 0 ]] && break ; done`