|
Lines 10-55
Link Here
|
| 10 |
*******************************************************************************/ |
10 |
*******************************************************************************/ |
| 11 |
package org.eclipse.ui.internal.texteditor.quickdiff; |
11 |
package org.eclipse.ui.internal.texteditor.quickdiff; |
| 12 |
|
12 |
|
| 13 |
import java.util.ArrayList; |
13 |
import java.util.*; |
| 14 |
import java.util.ConcurrentModificationException; |
|
|
| 15 |
import java.util.Iterator; |
| 16 |
import java.util.LinkedList; |
| 17 |
import java.util.List; |
| 18 |
import java.util.ListIterator; |
| 19 |
|
| 20 |
import org.eclipse.core.runtime.CoreException; |
| 21 |
import org.eclipse.core.runtime.IProgressMonitor; |
| 22 |
import org.eclipse.core.runtime.IStatus; |
| 23 |
import org.eclipse.core.runtime.OperationCanceledException; |
| 24 |
import org.eclipse.core.runtime.Platform; |
| 25 |
import org.eclipse.core.runtime.Status; |
| 26 |
import org.eclipse.core.runtime.jobs.Job; |
| 27 |
|
14 |
|
|
|
15 |
import org.eclipse.core.runtime.*; |
| 16 |
import org.eclipse.core.runtime.jobs.Job; |
| 17 |
import org.eclipse.jface.text.*; |
| 18 |
import org.eclipse.jface.text.source.*; |
| 28 |
import org.eclipse.jface.util.Assert; |
19 |
import org.eclipse.jface.util.Assert; |
| 29 |
|
|
|
| 30 |
import org.eclipse.jface.text.BadLocationException; |
| 31 |
import org.eclipse.jface.text.Document; |
| 32 |
import org.eclipse.jface.text.DocumentEvent; |
| 33 |
import org.eclipse.jface.text.IDocument; |
| 34 |
import org.eclipse.jface.text.IDocumentListener; |
| 35 |
import org.eclipse.jface.text.IRegion; |
| 36 |
import org.eclipse.jface.text.Position; |
| 37 |
import org.eclipse.jface.text.Region; |
| 38 |
import org.eclipse.jface.text.source.Annotation; |
| 39 |
import org.eclipse.jface.text.source.AnnotationModelEvent; |
| 40 |
import org.eclipse.jface.text.source.IAnnotationModel; |
| 41 |
import org.eclipse.jface.text.source.IAnnotationModelListener; |
| 42 |
import org.eclipse.jface.text.source.IAnnotationModelListenerExtension; |
| 43 |
import org.eclipse.jface.text.source.ILineDiffInfo; |
| 44 |
import org.eclipse.jface.text.source.ILineDiffer; |
| 45 |
|
| 46 |
import org.eclipse.ui.texteditor.quickdiff.IQuickDiffReferenceProvider; |
| 47 |
|
| 48 |
import org.eclipse.ui.internal.texteditor.TextEditorPlugin; |
20 |
import org.eclipse.ui.internal.texteditor.TextEditorPlugin; |
| 49 |
import org.eclipse.ui.internal.texteditor.quickdiff.compare.rangedifferencer.DocLineComparator; |
21 |
import org.eclipse.ui.internal.texteditor.quickdiff.compare.rangedifferencer.*; |
| 50 |
import org.eclipse.ui.internal.texteditor.quickdiff.compare.rangedifferencer.RangeDifference; |
|
|
| 51 |
import org.eclipse.ui.internal.texteditor.quickdiff.compare.rangedifferencer.RangeDifferencer; |
| 52 |
import org.eclipse.ui.internal.texteditor.quickdiff.compare.rangedifferencer.LinkedRangeFactory.LowMemoryException; |
22 |
import org.eclipse.ui.internal.texteditor.quickdiff.compare.rangedifferencer.LinkedRangeFactory.LowMemoryException; |
|
|
23 |
import org.eclipse.ui.progress.IProgressConstants; |
| 24 |
import org.eclipse.ui.texteditor.quickdiff.IQuickDiffReferenceProvider; |
| 53 |
|
25 |
|
| 54 |
/** |
26 |
/** |
| 55 |
* Standard implementation of <code>ILineDiffer</code> as an incremental diff engine. A |
27 |
* Standard implementation of <code>ILineDiffer</code> as an incremental diff engine. A |
|
Lines 447-452
Link Here
|
| 447 |
clearModel(); |
419 |
clearModel(); |
| 448 |
fireModelChanged(); |
420 |
fireModelChanged(); |
| 449 |
DocumentLineDiffer.this.notifyAll(); |
421 |
DocumentLineDiffer.this.notifyAll(); |
|
|
422 |
// Do not put up the error immediatly as it may interupt the user |
| 423 |
setProperty(IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY, Boolean.TRUE); |
| 424 |
// TODO: Could add goto action that disables this quick diff |
| 450 |
return e.getStatus(); |
425 |
return e.getStatus(); |
| 451 |
} |
426 |
} |
| 452 |
} |
427 |
} |