Bug 575382 - Fix "Select All" with collapsed ranges
Change-Id: I7e943093723fd38e0aa963406980ec49deac45b6
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.text/+/185823
Reviewed-by: Mickael Istria <mistria@redhat.com>
Tested-by: Mickael Istria <mistria@redhat.com>
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
index 4582be9..6107756 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
@@ -908,8 +908,8 @@
}
@Override
- public void setSelection(IRegion[] regions) {
- TextViewer.this.setSelectedRanges(regions);
+ public void setSelection(IRegion[] widgetRegions) {
+ TextViewer.this.setSelectedRanges(Arrays.stream(widgetRegions).map(TextViewer.this::widgetRange2ModelRange).toArray(IRegion[]::new));
}
@Override
@@ -2298,19 +2298,19 @@
/**
*
- * @param ranges are in model (document) domain
+ * @param modelRanges are in model (document) domain
*/
- private void setSelectedRanges(IRegion[] ranges) {
+ private void setSelectedRanges(IRegion[] modelRanges) {
if (!redraws()) {
if (fViewerState != null)
- fViewerState.updateSelection(Arrays.stream(ranges).map(TextViewer::toPosition).toArray(Position[]::new));
+ fViewerState.updateSelection(Arrays.stream(modelRanges).map(TextViewer::toPosition).toArray(Position[]::new));
return;
}
if (fTextWidget == null)
return;
- IRegion[] widgetSelection= Arrays.stream(ranges)
+ IRegion[] widgetSelection= Arrays.stream(modelRanges)
.map(range -> new Region(range.getOffset(), range.getLength()))
.map(this::modelRange2ClosestWidgetRange)
.filter(Objects::nonNull)