package oraloganalyzer.editor; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.TextAttribute; import org.eclipse.jface.text.presentation.IPresentationReconciler; import org.eclipse.jface.text.presentation.PresentationReconciler; import org.eclipse.jface.text.rules.DefaultDamagerRepairer; import org.eclipse.jface.text.rules.Token; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.jface.text.source.SourceViewerConfiguration; public class OraLogViewerConfiguration extends SourceViewerConfiguration { private OraLogScanner scanner; public OraLogScanner getScanner() { if (scanner == null) { SyntaxColorProvider colorProvider = new SyntaxColorProvider(); scanner = new OraLogScanner(colorProvider); scanner.setDefaultReturnToken(new Token(new TextAttribute( colorProvider.getColor(SyntaxColorProvider.DEFAULT)))); } return scanner; } public IPresentationReconciler getPresentationReconciler( ISourceViewer sourceView) { PresentationReconciler reconciler = new PresentationReconciler(); DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getScanner()); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); return reconciler; } }