BenchmarkTools.jl
BenchmarkTools.jl copied to clipboard
Provide entry point for color customization
BenchmarkTools uses hardcoded colors for generating output and unfortunately color choice is not always suitable for all users for various reasons.
I propose to use the following approach instead of colors hardcoding:
# define somewhere at the beginning
const COLOR = Ref((; foo = :red, bar = :green))
# and later in the code, when color is needed
printstyled("what you need to print", COLOR[].foo)
This simple change does not provide full-fledged color theme switching by itself (this probably should be implemented https://github.com/JuliaLang/julia/issues/41435), but it provides an entry point for all future color theme related stuff. I.e. all user level convenience functions would just modify this variable one way or another. And anyway this proposal allows color customization right here and now (maybe slightly cumbersome) unlike the current situation.
Implementing this feature looks like a good beginner PR, doesn't require large modifications of the code base and it solves color issues.
Do you want to give implementing this a go?