package org.erlide.ui.editors.erl.scanner; import java.util.List; import org.eclipse.jface.text.rules.IRule; import org.eclipse.jface.text.rules.Token; import org.erlide.ui.prefs.TokenHighlight; import org.erlide.ui.util.IColorManager; import org.erlide.ui.util.text.RegexpRule; import com.google.common.collect.Lists; public class ErlStringScanner extends ErlTokenScanner { public ErlStringScanner(final IColorManager colorManager) { super(colorManager); final Token defaultToken = ErlTokenScanner .getToken(TokenHighlight.STRING.getName()); setDefaultReturnToken(defaultToken); final Token tildeTag = ErlTokenScanner .getToken(TokenHighlight.TILDE_TAG.getName()); final Token escapeTag = ErlTokenScanner .getToken(TokenHighlight.ESCAPE_TAG.getName()); final List<IRule> rulesList = Lists.newArrayList(); rulesList.add(new RegexpRule("~[0-9*]*(\\.[0-9*]+)?.?t?[~cfegswWpPBbXx#+ni]", tildeTag)); rulesList.add(new EscapeRule(escapeTag)); final IRule[] rules = new IRule[rulesList.size()]; rulesList.toArray(rules); setRules(rules); } }