-
Notifications
You must be signed in to change notification settings - Fork 19
refactor: Make keep-sorted debug output a bit more useful for figuring out why things were sorted a certain way. #88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
I think "regexMatch" makes more sense than "regexToken" because we aren't really doing anything special to the raw regex match. I like "regexDidNotMatch" better than "alwaysLast" since the former actually describes how we get that value instead of the business logic implications.
This also moves the logic a bit more towards an imperative style from the current functional style, which might be a bit easier to reason about moving forward. Also note that I'm caching calculated values and keeping track of which values are calculated. Caching the calculated values should perhaps improve performance (not that we've had any user complaints about speed). I intend to use the fact that we're keeping track of which values are calculated to improve the debuggability of keep-sorted in a follow-up.
out why things were sorted a certain way. The debug output now reports all of the tokens that were actually used in comparisons. The debug output now reports all of the line groups in their sorted order instead of the line groups in their original order, but I think that should be fine.
KatrinaHoffert
approved these changes
Jul 14, 2025
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.
The debug output now reports all of the tokens that were actually used
in comparisons. It also now reports all of the line groups in
their sorted order instead of the line groups in their original order,
but I think that should be fine.
If you want to see it in action, run something like