1 package net.mograsim.plugin.asm.editor;
3 import java.lang.ref.WeakReference;
5 import org.eclipse.jface.text.IDocument;
6 import org.eclipse.jface.text.ITextViewer;
7 import org.eclipse.jface.text.reconciler.Reconciler;
8 import org.eclipse.jface.text.source.projection.ProjectionViewer;
10 import net.mograsim.plugin.AsmOps;
12 public class AsmReconciler extends Reconciler
15 private AsmReconcilerStrategy fStrategy;
17 public AsmReconciler()
19 fStrategy = new AsmReconcilerStrategy();
20 this.setReconcilingStrategy(fStrategy, IDocument.DEFAULT_CONTENT_TYPE);
24 public void install(ITextViewer textViewer)
26 super.install(textViewer);
27 ProjectionViewer pViewer = (ProjectionViewer) textViewer;
28 fStrategy.setProjectionViewer(pViewer);
29 WeakReference<ITextViewer> tv = new WeakReference<>(textViewer);
30 AsmOps.addListener(ops ->
32 System.out.println("refresh");
34 tv.get().invalidateTextPresentation();