diff options
Diffstat (limited to 'org.eclipse.jface.text/src/org/eclipse/jface/text/rules/WordPatternRule.java')
-rw-r--r-- | org.eclipse.jface.text/src/org/eclipse/jface/text/rules/WordPatternRule.java | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/rules/WordPatternRule.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/rules/WordPatternRule.java deleted file mode 100644 index ee09cbe88f7..00000000000 --- a/org.eclipse.jface.text/src/org/eclipse/jface/text/rules/WordPatternRule.java +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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 API and implementation - *******************************************************************************/ -package org.eclipse.jface.text.rules; - - -import org.eclipse.jface.text.Assert; - - - -/** - * A specific single line rule which stipulates that the start - * and end sequence occur within a single word, as defined by a word detector. - * - * @see IWordDetector - */ -public class WordPatternRule extends SingleLineRule { - - /** The word detector used by this rule */ - protected IWordDetector fDetector; - /** The internal buffer used for pattern detection */ - private StringBuffer fBuffer= new StringBuffer(); - - /** - * Creates a rule for the given starting and ending word - * pattern which, if detected, will return the specified token. - * A word detector is used to identify words. - * - * @param detected the word detector to be used - * @param startSequence the start sequence of the word pattern - * @param endSequence the end sequence of the word pattern - * @param token the token to be returned on success - */ - public WordPatternRule(IWordDetector detector, String startSequence, String endSequence, IToken token) { - this(detector, startSequence, endSequence, token, (char)0); - } - - /** - /** - * Creates a rule for the given starting and ending word - * pattern which, if detected, will return the specified token. - * A word detector is used to identify words. - * Any character which follows the given escapeCharacter will be ignored. - * - * @param detected the word detector to be used - * @param startSequence the start sequence of the word pattern - * @param endSequence the end sequence of the word pattern - * @param token the token to be returned on success - * @param escapeCharacter the escape character - */ - public WordPatternRule(IWordDetector detector, String startSequence, String endSequence, IToken token, char escapeCharacter) { - super(startSequence, endSequence, token, escapeCharacter); - Assert.isNotNull(detector); - fDetector= detector; - } - - /** - * Returns whether the end sequence was detected. - * The rule acquires the rest of the word, using the - * provided word detector, and tests to determine if - * it ends with the end sequence. - * - * @param scanner the scanner to be used - * @return <code>true</code> if the word ends on the given end sequence - */ - protected boolean endSequenceDetected(ICharacterScanner scanner) { - fBuffer.setLength(0); - int c= scanner.read(); - while (fDetector.isWordPart((char) c)) { - fBuffer.append((char) c); - c= scanner.read(); - } - scanner.unread(); - - if (fBuffer.length() >= fEndSequence.length) { - for (int i=fEndSequence.length - 1, j= fBuffer.length() - 1; i >= 0; i--, j--) { - if (fEndSequence[i] != fBuffer.charAt(j)) { - unreadBuffer(scanner); - return false; - } - } - return true; - } - - unreadBuffer(scanner); - return false; - } - - /** - * Returns the characters in the buffer to the scanner. - * Note that the rule must also return the characters - * read in as part of the start sequence expect the first one. - * - * @param scanner the scanner to be used - */ - protected void unreadBuffer(ICharacterScanner scanner) { - fBuffer.insert(0, fStartSequence); - for (int i= fBuffer.length() - 1; i > 0; i--) - scanner.unread(); - } -} |