Add AdaptiveFaint, ForceFaint and HasDarkColorScheme #47
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses #44 and #45 by adding the
AdaptiveFaint
andForceFaint
methods on theStyle
struct. The differences to the classicFaint
method are well documented. It also addsHasDarkColorScheme
as the underlying functionality is needed for the faint methods and and example to compare the effects of the three faint methods.I tried all of the color blend methods provided by
go-colorful
and found that an RGB blend with a factor of0.5
produces the best results and is most in line with the terminals I tested.I had to modify the internals of
Style
asAdaptiveFaint
andForceFaint
are post-processing effects that are tricky to implement with the copy semantics ofStyle
.Here's an excerpt from the example using iTerm: