Correctly justify with consecutive trailing spaces - #760
Merged
Conversation
tomcur
force-pushed
the
justify-trailing-whitespace
branch
2 times, most recently
from
September 3, 2026 12:26
989f22c to
8447b49
Compare
tomcur
force-pushed
the
justify-trailing-whitespace
branch
from
September 4, 2026 14:13
8447b49 to
2072777
Compare
nicoburns
approved these changes
Sep 4, 2026
DJMcNab
reviewed
Sep 7, 2026
DJMcNab
left a comment
Member
There was a problem hiding this comment.
Great to see this fixed. We've been carrying a patch for this for quite a while 😅
| let mut layout = builder.build(text); | ||
| layout.break_all_lines(Some(max_advance)); | ||
| layout.align(Alignment::Justify, AlignmentOptions::default()); | ||
| env.check_cluster_snapshot(&layout, text, 12.0); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

LLM Contributions: Investigation, test.
When justifying a line, this now correctly handles runs of consecutive trailing spaces. This is follow-up to #738 (comment).
There's some more that we could/should do here (separately!). E.g., I think we simply do not need to check the break reason, and that would also get us to handle
BreakReason::Emergencycorrectly for free. We also don't currently handle consecutive trailing spaces correctly for either justification or hanging when there's a formatting change inside that run; something like the following.Changelog