import java.util.ArrayList;
import java.util.List;
-import java.util.Vector;
import net.sourceforge.phpdt.internal.ui.text.AbstractJavaScanner;
import net.sourceforge.phpdt.ui.text.IColorManager;
-import net.sourceforge.phpdt.ui.text.IJavaColorConstants;
+import net.sourceforge.phpeclipse.IPreferenceConstants;
import net.sourceforge.phpeclipse.phpeditor.PHPSyntaxRdr;
import net.sourceforge.phpeclipse.phpeditor.util.PHPWhitespaceDetector;
import net.sourceforge.phpeclipse.phpeditor.util.PHPWordDetector;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.rules.*;
+import org.eclipse.jface.text.rules.EndOfLineRule;
+import org.eclipse.jface.text.rules.ICharacterScanner;
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.IWordDetector;
+import org.eclipse.jface.text.rules.MultiLineRule;
+import org.eclipse.jface.text.rules.Token;
+import org.eclipse.jface.text.rules.WhitespaceRule;
+import org.eclipse.jface.text.rules.WordRule;
/**
* PHP Code Scanner
scanner.unread();
if (isVariable) {
- return getToken(IJavaColorConstants.PHP_VARIABLE);
+ return getToken(IPreferenceConstants.PHP_VARIABLE);
}
IToken token = (IToken) fWords.get(fBuffer.toString());
if (token != null)
//private PHPColorProvider fColorProvider;
private static String[] fgTokenProperties = {
- IJavaColorConstants.PHP_MULTI_LINE_COMMENT,
- IJavaColorConstants.PHP_SINGLE_LINE_COMMENT,
- IJavaColorConstants.PHP_KEYWORD,
- IJavaColorConstants.PHP_FUNCTIONNAME,
- IJavaColorConstants.PHP_VARIABLE,
- IJavaColorConstants.PHP_STRING,
- IJavaColorConstants.PHP_TYPE,
- IJavaColorConstants.PHP_CONSTANT,
- IJavaColorConstants.PHP_DEFAULT };
+ IPreferenceConstants.PHP_MULTILINE_COMMENT,
+ IPreferenceConstants.PHP_SINGLELINE_COMMENT,
+ IPreferenceConstants.PHP_KEYWORD,
+ IPreferenceConstants.PHP_FUNCTIONNAME,
+ IPreferenceConstants.PHP_VARIABLE,
+ IPreferenceConstants.PHP_STRING,
+ IPreferenceConstants.PHP_TYPE,
+ IPreferenceConstants.PHP_CONSTANT,
+ IPreferenceConstants.PHP_DEFAULT };
/**
* Creates a PHP code scanner
*/
*/
protected List createRules() {
List rules = new ArrayList();
- Token token= getToken(IJavaColorConstants.PHP_SINGLE_LINE_COMMENT);
+ Token token= getToken(IPreferenceConstants.PHP_SINGLELINE_COMMENT);
// Add rule for single line comments.
rules.add(new EndOfLineRule("//", token)); //$NON-NLS-1$
rules.add(new EndOfLineRule("#", token)); //$NON-NLS-1$
// Add rule for strings and character constants.
- token= getToken(IJavaColorConstants.PHP_STRING);
+ token= getToken(IPreferenceConstants.PHP_STRING);
rules.add(new MultiLineRule("\"", "\"", token, '\\')); //$NON-NLS-2$ //$NON-NLS-1$
rules.add(new MultiLineRule("`", "`", token, '\\')); //$NON-NLS-2$ //$NON-NLS-1$
rules.add(new MultiLineRule("'", "'", token, '\\')); //$NON-NLS-2$ //$NON-NLS-1$
//previous version
//rules.add(new SingleLineRule("'", "'", token, '\\')); //$NON-NLS-2$ //$NON-NLS-1$
-
- token= getToken(IJavaColorConstants.PHP_MULTI_LINE_COMMENT);
+
+ token= getToken(IPreferenceConstants.PHP_MULTILINE_COMMENT);
rules.add(new MultiLineRule("/*", "*/", token)); //$NON-NLS-2$ //$NON-NLS-1$
// Add generic whitespace rule.
rules.add(new WhitespaceRule(new PHPWhitespaceDetector()));
// Add word rule for keywords, types, and constants.
- token= getToken(IJavaColorConstants.PHP_DEFAULT);
+ token= getToken(IPreferenceConstants.PHP_DEFAULT);
PHPWordRule wordRule = new PHPWordRule(new PHPWordDetector(), token);
- Token keyword= getToken(IJavaColorConstants.PHP_KEYWORD);
- Token functionName= getToken(IJavaColorConstants.PHP_FUNCTIONNAME);
- Token type= getToken(IJavaColorConstants.PHP_TYPE);
- Token constant= getToken(IJavaColorConstants.PHP_CONSTANT);
- PHPSyntaxRdr.readInSyntax();
- Vector buffer = PHPSyntaxRdr.getsyntaxdata();
+ Token keyword= getToken(IPreferenceConstants.PHP_KEYWORD);
+ Token functionName= getToken(IPreferenceConstants.PHP_FUNCTIONNAME);
+ Token type= getToken(IPreferenceConstants.PHP_TYPE);
+ Token constant= getToken(IPreferenceConstants.PHP_CONSTANT);
+
+ ArrayList buffer = PHPSyntaxRdr.getSyntaxData();
// String strbuffer = null; unused
PHPElement elbuffer = null;
- while ((buffer != null)
- && (!buffer.isEmpty()
- && ((elbuffer = (PHPElement) buffer.remove(0)) != null))) {
+ for (int i=0;i<buffer.size();i++) {
+// while ((buffer != null)
+// && (!buffer.isEmpty()
+// && ((elbuffer = (PHPElement) buffer.remove(0)) != null))) {
+ elbuffer = (PHPElement) buffer.get(i);
if (elbuffer instanceof PHPKeyword)
wordRule.addWord(((PHPKeyword) elbuffer).getName(), keyword);
if (elbuffer instanceof PHPFunction)