fix(colors): send full style reset in diff #32
Merged
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 addresses #15
What caused this issue was that apparently one is able to set the font color using the bold code. As in, while
[1m
is "set to bold",[1;32m
is "set to red bold". But the bold reset code[22m
(that which I initially thought would reset whatever one places in[1m
) only resets the bold and not the red.Because of that assumption of mine, in the case of starship we were only sending the reset code for bold and thus the color stayed red when it wasn't supposed to.
To solve this, when we decide which styles to send to a new character (we do this by diffing the styles with the previous character, because styles stick around until they are reset), if the new character is a full reset, we send a full reset rather than bothering with the diff.