X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPDocumentProvider.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPDocumentProvider.java deleted file mode 100644 index 2fa0115..0000000 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPDocumentProvider.java +++ /dev/null @@ -1,145 +0,0 @@ -package net.sourceforge.phpeclipse.phpeditor; - -/********************************************************************** -Copyright (c) 2000, 2002 IBM Corp. and others. -All rights reserved. This program and the accompanying materials -are made available under the terms of the Common Public License v1.0 -which accompanies this distribution, and is available at -http://www.eclipse.org/legal/cpl-v10.html - -Contributors: - IBM Corporation - Initial implementation - Klaus Hartlage - www.eclipseproject.de -**********************************************************************/ - -import net.sourceforge.phpeclipse.phpeditor.php.IPHPPartitionScannerConstants; -import net.sourceforge.phpeclipse.phpeditor.php.PHPPartitionScanner; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jface.text.DefaultLineTracker; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentPartitioner; -import org.eclipse.jface.text.ILineTracker; -import org.eclipse.jface.text.rules.DefaultPartitioner; -import org.eclipse.ui.editors.text.FileDocumentProvider; -import org.eclipse.ui.part.FileEditorInput; - -/** - * The PHPDocumentProvider provides the IDocuments used by java editors. - */ - -public class PHPDocumentProvider extends FileDocumentProvider { - - // private final static String[] TYPES= new String[] { PHPPartitionScanner.PHP, PHPPartitionScanner.JAVA_DOC, PHPPartitionScanner.JAVA_MULTILINE_COMMENT }; - private final static String[] TYPES = - new String[] { - IPHPPartitionScannerConstants.PHP, - IPHPPartitionScannerConstants.PHP_MULTILINE_COMMENT, - IPHPPartitionScannerConstants.HTML, - IPHPPartitionScannerConstants.HTML_MULTILINE_COMMENT, - IPHPPartitionScannerConstants.JAVASCRIPT, - IPHPPartitionScannerConstants.CSS }; - - private static PHPPartitionScanner fgScanner = null; - - public PHPDocumentProvider() { - super(); - } - - /* (non-Javadoc) - * Method declared on AbstractDocumentProvider - */ - protected IDocument createDocument(Object element) throws CoreException { - IDocument document = super.createDocument(element); - if (document != null) { - // int fileType = 0; // PHP - IDocumentPartitioner partitioner = null; - if (element instanceof FileEditorInput) { - IFile file = (IFile) ((FileEditorInput) element).getAdapter(IFile.class); - String filename = file.getLocation().toString(); - String extension = filename.substring(filename.lastIndexOf("."), filename.length()); - // System.out.println(extension); - if (extension.equalsIgnoreCase(".html") || extension.equalsIgnoreCase(".htm")) { - // html - partitioner = createHTMLPartitioner(); - } else if (extension.equalsIgnoreCase(".xml")) { - // xml - partitioner = createXMLPartitioner(); - } else if (extension.equalsIgnoreCase(".js")) { - // javascript - partitioner = createJavaScriptPartitioner(); - } else if (extension.equalsIgnoreCase(".css")) { - // cascading style sheets - partitioner = createCSSPartitioner(); - } else if (extension.equalsIgnoreCase(".tpl")) { - // smarty ? - partitioner = createSmartyPartitioner(); - } else if (extension.equalsIgnoreCase(".inc")) { - // php include files ? - partitioner = createIncludePartitioner(); - } - } - - if (partitioner == null) { - partitioner = createPHPPartitioner(); - } - document.setDocumentPartitioner(partitioner); - partitioner.connect(document); - } - return document; - } - - /** - * Return a partitioner for .php files. - */ - private IDocumentPartitioner createPHPPartitioner() { - return new DefaultPartitioner(getPHPPartitionScanner(), TYPES); - } - - /** - * Return a partitioner for .html files. - */ - private IDocumentPartitioner createHTMLPartitioner() { - return new DefaultPartitioner(getPHPPartitionScanner(), TYPES); - } - - private IDocumentPartitioner createXMLPartitioner() { - return new DefaultPartitioner(getPHPPartitionScanner(), TYPES); - } - - private IDocumentPartitioner createJavaScriptPartitioner() { - return new DefaultPartitioner(getPHPPartitionScanner(), TYPES); - } - - private IDocumentPartitioner createCSSPartitioner() { - return new DefaultPartitioner(getPHPPartitionScanner(), TYPES); - } - - private IDocumentPartitioner createSmartyPartitioner() { - return new DefaultPartitioner(getPHPPartitionScanner(), TYPES); - } - - private IDocumentPartitioner createIncludePartitioner() { - return new DefaultPartitioner(getPHPPartitionScanner(), TYPES); - } - /** - * Return a scanner for creating php partitions. - */ - private PHPPartitionScanner getPHPPartitionScanner() { - if (fgScanner == null) - fgScanner = new PHPPartitionScanner(); - return fgScanner; - } - - /** - * Creates a line tracker working with the same line delimiters as the document - * of the given element. Assumes the element to be managed by this document provider. - * - * @param element the element serving as blue print - * @return a line tracker based on the same line delimiters as the element's document - */ - public ILineTracker createLineTracker(Object element) { - return new DefaultLineTracker(); - } -}