Mercurial > projects > dwt-addons
view dwtx/jface/text/rules/ICharacterScanner.d @ 199:eb98a5cbfd78
Fix: potential problem with synchronized, thx torhu.
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Fri, 13 Mar 2009 17:03:26 +0100 |
parents | 000f9136b8f7 |
children |
line wrap: on
line source
/******************************************************************************* * Copyright (c) 2000, 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation * Port to the D programming language: * Frank Benoit <benoit@tionex.de> *******************************************************************************/ module dwtx.jface.text.rules.ICharacterScanner; import dwtx.jface.text.rules.FastPartitioner; // packageimport import dwtx.jface.text.rules.ITokenScanner; // packageimport import dwtx.jface.text.rules.Token; // packageimport import dwtx.jface.text.rules.RuleBasedScanner; // packageimport import dwtx.jface.text.rules.EndOfLineRule; // packageimport import dwtx.jface.text.rules.WordRule; // packageimport import dwtx.jface.text.rules.WhitespaceRule; // packageimport import dwtx.jface.text.rules.WordPatternRule; // packageimport import dwtx.jface.text.rules.IPredicateRule; // packageimport import dwtx.jface.text.rules.DefaultPartitioner; // packageimport import dwtx.jface.text.rules.NumberRule; // packageimport import dwtx.jface.text.rules.SingleLineRule; // packageimport import dwtx.jface.text.rules.PatternRule; // packageimport import dwtx.jface.text.rules.RuleBasedDamagerRepairer; // packageimport import dwtx.jface.text.rules.IRule; // packageimport import dwtx.jface.text.rules.DefaultDamagerRepairer; // packageimport import dwtx.jface.text.rules.IToken; // packageimport import dwtx.jface.text.rules.IPartitionTokenScanner; // packageimport import dwtx.jface.text.rules.MultiLineRule; // packageimport import dwtx.jface.text.rules.RuleBasedPartitioner; // packageimport import dwtx.jface.text.rules.RuleBasedPartitionScanner; // packageimport import dwtx.jface.text.rules.BufferedRuleBasedScanner; // packageimport import dwtx.jface.text.rules.IWhitespaceDetector; // packageimport import dwt.dwthelper.utils; /** * Defines the interface of a character scanner used by rules. * Rules may request the next character or ask the character * scanner to unread the last read character. */ public interface ICharacterScanner { /** * The value returned when this scanner has read EOF. */ public static const int EOF= -1; /** * Provides rules access to the legal line delimiters. The returned * object may not be modified by clients. * * @return the legal line delimiters */ char[][] getLegalLineDelimiters(); /** * Returns the column of the character scanner. * * @return the column of the character scanner */ int getColumn(); /** * Returns the next character or EOF if end of file has been reached * * @return the next character or EOF */ int read(); /** * Rewinds the scanner before the last read character. */ void unread(); }