Allow the user to set the shell used for executing benchmark commands.
The option (-S/--shell) can be overridden, when there are duplicate
options the last option's value will be used.
The markdown results exporter was using milliseconds, but the other
results exporters are using the default seconds unit.
Apply some refactoring so the same logic used to select units for the
CLI output can be used to select the units for the markdown exporter.
Now the units of the markdown exporter match that of the CLI.
When there are multiple benchmarks, the CLI will choose the
appropriate unit for each benchmark separately. In this case, the
markdown exporter will use the first benchmark to select the units for
all the results.
*This will change the markdown results for all users from milliseconds
to seconds, a UX breaking change.*
Add unit tests for the markdown exporter to verify the output.
Issue #80 proposes a new option to choose the units used for both the
CLI report and results export.
Strip the empty lines within the results for each benchmark, but keep
the empty line between each benchmark, and before the summary.
Add `color` style option to show color but not be interactive (no
progress bar).
This change makes it possible to forward the stdout of the command the
user tries to benchmark to hyperfine's stdout using the `--print-stdout`
flag.
This should be irrelevant for most use-cases, however it makes it
possible to get some crude benchmarks of terminal emulators similar to
what's currently often done with `time cat file`.