Skip to content

Conversation

@TurtleArmyMc
Copy link

@TurtleArmyMc TurtleArmyMc commented Oct 10, 2025

This adds a simple boolean to the Report builder to not collapse multiline diffs with ellipses.

@zesterer
Copy link
Owner

Thanks for the contribution! Would it be possible for you to expand a little on the motivation for this? I'd think that showing the full contents of a file would often not be a positive thing.

@TurtleArmyMc
Copy link
Author

The change doesn't show the full file, just the full span of the label. The motivation was that I wasn't happy with not being able to see the full context of short labels even when there wouldn't be any problem displaying the whole thing. I guess a better API here could be a maximum line count before ellipses kick in instead of just a boolean ellipses always/full label always. If you want I could give implementing that a show instead of having this PR merged.

Copy link
Owner

@zesterer zesterer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies, that makes more sense. Just two comments, but otherwise I'm happy to see this merged!


#[test]
fn multiline_label_show_full() {
let source = "apple\n==\norange";
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be possible to change the string to "apple\n==\norange\npear"? That ensures that we're also not accidentally displaying the full file, only the lines covered by the span.

src/lib.rs Outdated
Comment on lines 528 to 531
/// Should this report not collapse multiline labels?
///
/// If unspecified, this defaults to 'false'
pub const fn with_show_full(mut self, show_full: bool) -> Self {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My feeling is that this function name / comment don't quite describe how this works. I'd suggest with_show_full_span and

/// Whether all lines covered by a multi-line span are shown, instead of just the first and last lines.

@TurtleArmyMc
Copy link
Author

Made the tweaks and also implemented a maximum line count option for the config.

@zesterer
Copy link
Owner

zesterer commented Nov 3, 2025

Thanks! Looks like it needs a cargo fmt before merge, but I'm happy with this now.

@TurtleArmyMc
Copy link
Author

Oops. Fixed.

@zesterer
Copy link
Owner

zesterer commented Dec 9, 2025

In an unrelated change, I added the ability to specify the number of lines of context that appear around label ends. This seems to have produced some conflicts.

I'm also not entirely convinced that Config is the place to put this option, and it might be better suited to being attached to individual labels (since some are more important than others). What are your thoughts on this?

@zesterer zesterer force-pushed the main branch 2 times, most recently from 2f36bc2 to 4b3807c Compare December 13, 2025 21:18
@TurtleArmyMc
Copy link
Author

I moved the collapse settings from the config to the individual label. If this looks good to you, I can also make a PR to do the same to make the number of contexts lines label specific as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants