Support overlapping --lines ranges in google-java-format.
The strict behavior comes from the underlying ImmutableRangeSet.Builder class, which does not allow overlapping ranges to be added. Let's use TreeRangeSet instead.
I have also updated the documentation for the --lines flag to make it clear that the line numbers are a closed-closed interval.
Tested with:
blaze run :google_java_format_binary -- --lines=1:5 --lines=3:8 - < Foo.java
Before this CL the command fails with:
'--lines=1:5' '--lines=3:8' -
Overlapping ranges not permitted but found [0..5) overlapping [2..8)
Support overlapping --lines ranges in google-java-format.
The strict behavior comes from the underlying ImmutableRangeSet.Builder class, which does not allow overlapping ranges to be added. Let's use TreeRangeSet instead.
I have also updated the documentation for the --lines flag to make it clear that the line numbers are a closed-closed interval.
Tested with:
Before this CL the command fails with:
After this CL the command succeeds.