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.

I wanted to use word wrapping and saw #1648 so here’s a preliminary PR, to discuss what needs changing/rewording/testing. In short, I’ve added a second callback similar to
GetLinePrefixthat defines wrapping points. They return a tuple of:⮠in a code block to indicate a non-semantic break, etc.A default wrapping function is provided to do word wrapping (and it can even be re-used and tuned for different purposes). It can be activated with
word_wrap=Trueon windows. For actual hyphenation a user would have to provide their own function.* E.g. if you want to wrap the text
example wrapped texton 7 columns, you either break before the first space and remove it, or before and then your next line starts with a space (which looks weird). On 15 columns you’d have a similar problem but either break asexample/wrapped/textwithout character removal, orexample wrapped/text, so allowing character removal is good for efficiency of justified text.