Open Roger-luo opened 3 years ago
Yes, it is difficult though because people want to be able to e.g. interpolate "crayons" and then you don't have an IO
.
I think we need to do a breaking release to clear these things up.
I think that this is the cause of https://github.com/JuliaData/DataFrames.jl/issues/2846.
In that particular issue, they are testing output by using sprint
to get the output into a string, and then checking that the output string contains the ASCII escape sequences for the colors. So in that use case, they always want the ASCII escape sequences to be included in the string, even if Julia was e.g. started with --color=no
.
cc: @bkamins
I guess there should be a new string type to solve the string interpolation with color problem? the new string type stores the colored string as list of String
with meta info about the color (format etc.) on it?
Now LazyString
PR is merged, maybe should consider that as a solution to this issue? Basically, when someone wants to interpolating the Crayons, always suggest to use LazyString
instead of normal ones, so we always have the context of IO when actually printing the Crayons, What do people think?
currently the
show
method overloaded in this package doesn't respect the :color option in julia IO, which as a result will print extra ASCII chars in Pluto.