X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/contentassist/InclusivePositionUpdater.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/contentassist/InclusivePositionUpdater.java index c88cb9f..dcd7b5f 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/contentassist/InclusivePositionUpdater.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/contentassist/InclusivePositionUpdater.java @@ -16,8 +16,8 @@ import org.eclipse.jface.text.IPositionUpdater; import org.eclipse.jface.text.Position; /** - * Position updater that takes any change in [position.offset, position.offset + position.length] as - * belonging to the position. + * Position updater that takes any change in [position.offset, position.offset + + * position.length] as belonging to the position. * * @since 3.0 */ @@ -29,10 +29,11 @@ class InclusivePositionUpdater implements IPositionUpdater { /** * Creates a new updater for the given category. * - * @param category the new category. + * @param category + * the new category. */ public InclusivePositionUpdater(String category) { - fCategory= category; + fCategory = category; } /* @@ -40,46 +41,49 @@ class InclusivePositionUpdater implements IPositionUpdater { */ public void update(DocumentEvent event) { - int eventOffset= event.getOffset(); - int eventOldLength= event.getLength(); - int eventNewLength= event.getText() == null ? 0 : event.getText().length(); - int deltaLength= eventNewLength - eventOldLength; + int eventOffset = event.getOffset(); + int eventOldLength = event.getLength(); + int eventNewLength = event.getText() == null ? 0 : event.getText() + .length(); + int deltaLength = eventNewLength - eventOldLength; try { - Position[] positions= event.getDocument().getPositions(fCategory); + Position[] positions = event.getDocument().getPositions(fCategory); - for (int i= 0; i != positions.length; i++) { + for (int i = 0; i != positions.length; i++) { - Position position= positions[i]; + Position position = positions[i]; if (position.isDeleted()) continue; - int offset= position.getOffset(); - int length= position.getLength(); - int end= offset + length; + int offset = position.getOffset(); + int length = position.getLength(); + int end = offset + length; - if (offset > eventOffset + eventOldLength) + if (offset > eventOffset + eventOldLength) // position comes way // after change - shift position.setOffset(offset + deltaLength); else if (end < eventOffset) { // position comes way before change - // leave alone - } else if (offset <= eventOffset && end >= eventOffset + eventOldLength) { + } else if (offset <= eventOffset + && end >= eventOffset + eventOldLength) { // event completely internal to the position - adjust length position.setLength(length + deltaLength); } else if (offset < eventOffset) { // event extends over end of position - adjust length - int newEnd= eventOffset + eventNewLength; + int newEnd = eventOffset + eventNewLength; position.setLength(newEnd - offset); } else if (end > eventOffset + eventOldLength) { - // event extends from before position into it - adjust offset + // event extends from before position into it - adjust + // offset // and length // offset becomes end of event, length ajusted acordingly // we want to recycle the overlapping part position.setOffset(eventOffset); - int deleted= eventOffset + eventOldLength - offset; + int deleted = eventOffset + eventOldLength - offset; position.setLength(length - deleted + eventNewLength); } else { // event consumes the position - delete it