+++ /dev/null
-package net.sourceforge.phpeclipse.editors;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextDoubleClickStrategy;
-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 PHPConfiguration extends SourceViewerConfiguration {
- private PHPDoubleClickStrategy doubleClickStrategy;
- private PHPTagScanner tagScanner;
- private PHPScanner scanner;
- private ColorManager colorManager;
-
- public PHPConfiguration(ColorManager colorManager) {
- this.colorManager = colorManager;
- }
- public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
- return new String[] {
- IDocument.DEFAULT_CONTENT_TYPE,
- PHPPartitionScanner.HTML_COMMENT,
- PHPPartitionScanner.HTML_TAG };
- }
- public ITextDoubleClickStrategy getDoubleClickStrategy(
- ISourceViewer sourceViewer,
- String contentType) {
- if (doubleClickStrategy == null)
- doubleClickStrategy = new PHPDoubleClickStrategy();
- return doubleClickStrategy;
- }
-
- protected PHPScanner getXMLScanner() {
- if (scanner == null) {
- scanner = new PHPScanner(colorManager);
- scanner.setDefaultReturnToken(
- new Token(
- new TextAttribute(
- colorManager.getColor(IPHPColorConstants.DEFAULT))));
- }
- return scanner;
-
- }
-
- protected PHPTagScanner getXMLTagScanner() {
- if (tagScanner == null) {
- tagScanner = new PHPTagScanner(colorManager);
- tagScanner.setDefaultReturnToken(
- new Token(
- new TextAttribute(
- colorManager.getColor(IPHPColorConstants.PHP_TAG))));
- }
- return tagScanner;
- }
-
- public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
- PresentationReconciler reconciler = new PresentationReconciler();
-
- DefaultDamagerRepairer dr =
- new DefaultDamagerRepairer(getXMLTagScanner());
- reconciler.setDamager(dr, PHPPartitionScanner.HTML_TAG);
- reconciler.setRepairer(dr, PHPPartitionScanner.HTML_TAG);
-
- dr = new DefaultDamagerRepairer(getXMLScanner());
- reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
- reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
-
- NonRuleBasedDamagerRepairer ndr =
- new NonRuleBasedDamagerRepairer(
- new TextAttribute(
- colorManager.getColor(IPHPColorConstants.XML_COMMENT)));
- reconciler.setDamager(ndr, PHPPartitionScanner.HTML_COMMENT);
- reconciler.setRepairer(ndr, PHPPartitionScanner.HTML_COMMENT);
-
- return reconciler;
- }
-
-}
\ No newline at end of file