if(line.regionMatches(true,i - 3,"rem", 0,3))
if(jEdit.regionMatches(true,line, i - 3,"rem"))
	public Enumeration markTokens(String line, int lineIndex)	{		String token = null;		tokens.removeAllElements();		int lastOffset = 0;		int length = line.length();loop:		for(int i = 0; i < length; i++)		{			char c = line.charAt(i);			switch(c)			{			case '%':				if(token == null)				{					tokens.addElement(new JSToken(line						.substring(lastOffset,i),null));					lastOffset = i;					if(length - i <= 3 || line.charAt(i+2)					   == ' ')					{						tokens.addElement(new JSToken(							line.substring(i,i+2),							VARIABLE));						i++;						lastOffset = i + 1;					}					else						token = VARIABLE;				}				else if(token == VARIABLE)				{					token = null;					tokens.addElement(new JSToken(line						.substring(lastOffset,i + 1),						VARIABLE));					lastOffset = i + 1;				}				break;			case '"':				if(token == null)				{					token = QUOTE;					tokens.addElement(new JSToken(line						.substring(lastOffset,i),						null));					lastOffset = i;				}				else if(token == QUOTE)				{					token = null;					tokens.addElement(new JSToken(line						.substring(lastOffset,i + 1),						QUOTE));					lastOffset = i + 1;				}				break;			case '=':				if(token == null && lastOffset == 0)				{					tokens.addElement(new JSToken(line						.substring(0,i),null));					lastOffset = i;				}				break;			case ' ':				if(lastOffset == 0)				{					if(line.regionMatches(true,i - 3,"rem",							      0,3))					{						tokens.addElement(new JSToken(							line,COMMENT));						lastOffset = length;						break loop;					}					else if(token == null)					{						tokens.addElement(new JSToken(							line.substring(							lastOffset,i),							COMMAND));						lastOffset = i;					}				}				break;			}		}		if(lastOffset != length)		{			tokens.addElement(new JSToken(line.substring(				lastOffset,length),lastOffset == 0 ?				COMMAND : token));		}		return tokens.elements();	}