package com.liferay.ide.velocity.scanner;
import org.eclipse.jface.text.rules.ICharacterScanner;
import org.eclipse.jface.text.rules.IToken;
import org.eclipse.jface.text.rules.MultiLineRule;
/**
* DOCUMENT ME!
*
* @version $Revision: 7 $
* @author <a href="mailto:akmal.sarhan@gmail.com">Akmal Sarhan </a>
*/
public class TagRule extends MultiLineRule
{
public TagRule(IToken token)
{
super("<", ">", token); //$NON-NLS-1$ //$NON-NLS-2$
}
protected boolean sequenceDetected(ICharacterScanner scanner, char[] sequence, boolean eofAllowed)
{
int c = scanner.read();
if (sequence[0] == '<')
{
if (c == '?')
{
// processing instruction - abort
scanner.unread();
return false;
}
if (c == '!')
{
scanner.unread();
// comment - abort
return false;
}
} else if (sequence[0] == '>')
{
scanner.unread();
}
return super.sequenceDetected(scanner, sequence, eofAllowed);
}
}