[new CA] gracefully handle invalid selections

Change-Id: I5d5c0e2dfcd93a4ea11036713e13fe2e2d5785b5
This commit is contained in:
Stefan Oehme 2014-12-02 09:57:00 +01:00
parent 965a414bce
commit e508198da4

View file

@ -468,11 +468,14 @@ public class ContentAssistContextFactory implements Function<ContentAssistContex
context.setOffset(completionOffset);
context.setPrefix(prefix);
int regionLength = prefix.length();
if (selection.getLength() > 0)
if (selection.getLength() > 0) {
regionLength = regionLength + selection.getLength();
}
ITextRegion region = new TextRegion(completionOffset - prefix.length(), regionLength);
if (selection.getOffset() >= 0 && selection.getLength() >= 0) {
context.setSelectedText(document.substring(selection.getOffset(), selection.getOffset() + selection.getLength()));
}
context.setReplaceRegion(region);
context.setSelectedText(document.substring(selection.getOffset(), selection.getOffset() + selection.getLength()));
context.setResource(resource);
return context;
}