Extract string handling methods from DrawsBoxes trait #142
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 simply extracts three methods for handling multi-byte strings containing ansi escape sequences from
DrawsBoxes
into a separateHandlesStrings
trait. The methods have remained wholly unchanged, so backwards compatibility is fully maintained.I've written a new trait for a separate feature that needs this same functionality, but it doesn't draw boxes, so it doesn't make sense to use the
DrawsBoxes
trait. If I redefine these methods in my new trait, I get a method name collision when using both these traits in the same prompt. Having both traits consume this trait avoids that issue. I feel like this separates these concerns better now as well, since these methods aren't strictly limited to boxes.