X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPDocumentPartitioner.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPDocumentPartitioner.java index c408f3b..7a342c4 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPDocumentPartitioner.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPDocumentPartitioner.java @@ -1,15 +1,15 @@ /********************************************************************** -Copyright (c) 2002 Widespace, OU 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://solareclipse.sourceforge.net/legal/cpl-v10.html + Copyright (c) 2002 Widespace, OU 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://solareclipse.sourceforge.net/legal/cpl-v10.html -Contributors: - Igor Malinin - initial contribution + Contributors: + Igor Malinin - initial contribution -$Id: PHPDocumentPartitioner.java,v 1.1 2004-09-02 18:32:34 jsurfer Exp $ -**********************************************************************/ + $Id: PHPDocumentPartitioner.java,v 1.5 2005-10-09 12:05:31 axelcl Exp $ + **********************************************************************/ package net.sourceforge.phpeclipse.phpeditor.php; import net.sourceforge.phpeclipse.PHPeclipsePlugin; @@ -22,72 +22,73 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IDocumentPartitioner; import org.eclipse.jface.text.rules.IPartitionTokenScanner; - /** - * - * + * + * * @author Igor Malinin */ public class PHPDocumentPartitioner extends MultiViewPartitioner { - public static final String PHP_TEMPLATE_DATA = "__php_template_data"; - public static final String PHP_SCRIPT_CODE = "__php_script_code"; + public static final String PHP_TEMPLATE_DATA = "__php_template_data"; - private IPartitionTokenScanner scriptScanner; + public static final String PHP_SCRIPT_CODE = "__php_script_code"; - public PHPDocumentPartitioner( - IPartitionTokenScanner scanner, IPartitionTokenScanner scriptScanner - ) { - super(scanner); + public static final String[] LEGAL_TYPES = { + PHP_TEMPLATE_DATA, + PHP_SCRIPT_CODE + }; - this.scriptScanner = scriptScanner; - } - protected FlatNode createNode(String type, int offset, int length) { - if (type.equals(PHPPartitionScanner.PHP_SCRIPTING_AREA) - ) { - if (DEBUG) { - Assert.isTrue(offset>=0); - } - ViewNode node = new ViewNode(type); - node.offset = offset; - node.length = length; - return node; - } - - return super.createNode(type, offset, length); - } + public PHPDocumentPartitioner(IPartitionTokenScanner scanner) { + super(scanner); + } - /* - * @see net.sf.solareclipse.text.rules.DocumentViewPartitioner#createPartitioner(String) - */ - protected IDocumentPartitioner createPartitioner(String contentType) { - if (contentType == null) { -// return JavaTextTools.createHTMLPartitioner(); - return PHPeclipsePlugin.getDefault().getJavaTextTools() - .getXMLTextTools().createXMLPartitioner(); - } - - if (contentType.equals(PHPPartitionScanner.PHP_SCRIPTING_AREA) - ) { - return PHPeclipsePlugin.getDefault().getJavaTextTools().createPHPPartitioner(); - } - return null; - } + protected FlatNode createNode(String type, int offset, int length) { + if (type.equals(PHPPartitionScanner.PHP_SCRIPTING_AREA)) { + if (DEBUG) { + Assert.isTrue(offset >= 0); + } + ViewNode node = new ViewNode(type); + node.offset = offset; + node.length = length; + return node; + } + + return super.createNode(type, offset, length); + } + + /* + * @see net.sf.solareclipse.text.rules.DocumentViewPartitioner#createPartitioner(String) + */ + protected IDocumentPartitioner createPartitioner(String contentType) { + if (contentType == null) { + // return JavaTextTools.createHTMLPartitioner(); + return PHPeclipsePlugin.getDefault().getJavaTextTools().getXMLTextTools().createPHPXMLPartitioner(); + } + + if (contentType.equals(PHPPartitionScanner.PHP_SCRIPTING_AREA)) { + return PHPeclipsePlugin.getDefault().getJavaTextTools().createPHPPartitioner(); + } + return null; + } + + /* + * @see net.sf.solareclipse.text.rules.DocumentViewPartitioner#getContentType(String, String) + */ + protected String getContentType(String parent, String view) { + if (parent == null) { + if (view == IDocument.DEFAULT_CONTENT_TYPE) { + return PHP_TEMPLATE_DATA; + } + } else { + if (view == IDocument.DEFAULT_CONTENT_TYPE) { + return PHP_SCRIPT_CODE; + } + } + + return super.getContentType(parent, view); + } - /* - * @see net.sf.solareclipse.text.rules.DocumentViewPartitioner#getContentType(String, String) - */ - protected String getContentType(String parent, String view) { - if (parent == null) { - if (view == IDocument.DEFAULT_CONTENT_TYPE) { - return PHP_TEMPLATE_DATA; - } - } else { - if (view == IDocument.DEFAULT_CONTENT_TYPE) { - return PHP_SCRIPT_CODE; - } - } - - return super.getContentType(parent, view); + public String[] getLegalContentTypes() { + return LEGAL_TYPES; } -} +} \ No newline at end of file