/******************************************************************************* * Copyright (c) 2005, 2012 eBay Inc. * 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 * *******************************************************************************/ /** * */ package org.eclipse.vjet.eclipse.internal.ui.text; import org.eclipse.jface.text.rules.ICharacterScanner; import org.eclipse.jface.text.rules.IToken; import org.eclipse.jface.text.rules.Token; import org.eclipse.swt.graphics.Point; /** * * */ public class VjoFunctionKeywordRule extends VjoKeywordRule { public VjoFunctionKeywordRule(String[] keywords, IToken token) { super(keywords, token); } protected void preExit(ICharacterScanner scanner) { // scanner.unread();// unread "(" } private IToken evaluateOnJst(VjoCodeScanner vScanner) { Point[] points = vScanner.getHighlightPoints(); int offset = vScanner.getTokenOffset(); for (Point p : points) { if (p.y < offset) { continue; } else if (p.x > offset) { break; } else { int length = p.y - offset + 1; for (int i=0; i< length; i++) { vScanner.read(); } return m_token; } } return Token.UNDEFINED; } public IToken evaluate(ICharacterScanner scanner) { VjoCodeScanner vScanner = (VjoCodeScanner)scanner; if (vScanner.isValidVjo()) { return evaluateOnJst(vScanner); } return Token.UNDEFINED; // else { // return super.evaluate(scanner); // } } }