@Override protected List<IRule> createRules() { List<IRule> list= new ArrayList<>(); Token defaultToken= getToken(fDefaultTokenProperty); List<WordMatcher> matchers= createMatchers(); if (matchers.size() > 0) { CombinedWordRule combinedWordRule= new CombinedWordRule(new AtJavaIdentifierDetector(), defaultToken); for (int i= 0, n= matchers.size(); i < n; i++) combinedWordRule.addWordMatcher(matchers.get(i)); list.add(combinedWordRule); } setDefaultReturnToken(defaultToken); return list; }
/** * Creates a rule which, with the help of an word detector, will return the token * associated with the detected word. If no token has been associated, the * specified default token will be returned. * * @param detector the word detector to be used by this rule, may not be <code>null</code> * @param matcher the initial word matcher * @param defaultToken the default token to be returned on success * if nothing else is specified, may not be <code>null</code> * * @see WordMatcher#addWord(String, IToken) */ public CombinedWordRule(IWordDetector detector, WordMatcher matcher, IToken defaultToken) { Assert.isNotNull(detector); Assert.isNotNull(defaultToken); fDetector= detector; fDefaultToken= defaultToken; if (matcher != null) addWordMatcher(matcher); }
private List<IRule> create9ModuleInfoRules(Token defaultToken) { // Add word rule for new keywords WordMatcher j9ModuleInfoMatcher= new WordMatcher(); Token token= getToken(IJavaColorConstants.JAVA_KEYWORD); for (int i= 0; i < fgJava9ModuleInfoKeywords.length; i++) j9ModuleInfoMatcher.addWord(fgJava9ModuleInfoKeywords[i], token); CombinedWordRule combinedWordRule= new CombinedWordRule(new JavaWordDetector(), j9ModuleInfoMatcher, defaultToken); setDefaultReturnToken(defaultToken); return new ArrayList<>(Arrays.asList(combinedWordRule)); }
@Override public IToken evaluate(ICharacterScanner scanner) { int c= scanner.read(); if (fDetector.isWordStart((char) c)) { if (fColumn == UNDEFINED || (fColumn == scanner.getColumn() - 1)) { fBuffer.clear(); do { fBuffer.append((char) c); c= scanner.read(); } while (c != ICharacterScanner.EOF && fDetector.isWordPart((char) c)); scanner.unread(); for (int i= 0, n= fMatchers.size(); i < n; i++) { IToken token= fMatchers.get(i).evaluate(scanner, fBuffer); if (!token.isUndefined()) return token; } if (fDefaultToken.isUndefined()) unreadBuffer(scanner); return fDefaultToken; } } scanner.unread(); return Token.UNDEFINED; }
/** * Creates a rule which, with the help of an word detector, will return the token * associated with the detected word. If no token has been associated, the * specified default token will be returned. * * @param detector the word detector to be used by this rule, may not be <code>null</code> * @param matcher the initial word matcher * @param defaultToken the default token to be returned on success * if nothing else is specified, may not be <code>null</code> * * @see WordMatcher#addWord(String, IToken) */ public CombinedWordRule(IWordDetector detector, WordMatcher matcher, IToken defaultToken) { Assert.isNotNull(detector); Assert.isNotNull(defaultToken); fDetector= detector; fDefaultToken= defaultToken; if (matcher != null) addWordMatcher(matcher); }
public IToken evaluate(ICharacterScanner scanner) { int c= scanner.read(); if (fDetector.isWordStart((char) c)) { if (fColumn == UNDEFINED || (fColumn == scanner.getColumn() - 1)) { fBuffer.clear(); do { fBuffer.append((char) c); c= scanner.read(); } while (c != ICharacterScanner.EOF && fDetector.isWordPart((char) c)); scanner.unread(); for (int i= 0, n= fMatchers.size(); i < n; i++) { IToken token= ((WordMatcher) fMatchers.get(i)).evaluate(scanner, fBuffer); if (!token.isUndefined()) return token; } if (fDefaultToken.isUndefined()) unreadBuffer(scanner); return fDefaultToken; } } scanner.unread(); return Token.UNDEFINED; }
@Override protected List<IRule> createRules() { List<IRule> list= new ArrayList<>(); Token defaultToken= getToken(fDefaultTokenProperty); List<WordMatcher> matchers= createMatchers(); if (matchers.size() > 0) { CombinedWordRule combinedWordRule= new CombinedWordRule(new AtJavaIdentifierDetector(), defaultToken); for (int i= 0, n= matchers.size(); i < n; i++) combinedWordRule.addWordMatcher(matchers.get(i)); list.add(combinedWordRule); } setDefaultReturnToken(defaultToken); return list; }
/** * Creates a rule which, with the help of an word detector, will return the token * associated with the detected word. If no token has been associated, the * specified default token will be returned. * * @param detector the word detector to be used by this rule, may not be <code>null</code> * @param matcher the initial word matcher * @param defaultToken the default token to be returned on success * if nothing else is specified, may not be <code>null</code> * * @see WordMatcher#addWord(String, IToken) */ public CombinedWordRule(IWordDetector detector, WordMatcher matcher, IToken defaultToken) { Assert.isNotNull(detector); Assert.isNotNull(defaultToken); fDetector= detector; fDefaultToken= defaultToken; if (matcher != null) addWordMatcher(matcher); }
@Override public IToken evaluate(ICharacterScanner scanner) { int c= scanner.read(); if (fDetector.isWordStart((char) c)) { if (fColumn == UNDEFINED || (fColumn == scanner.getColumn() - 1)) { fBuffer.clear(); do { fBuffer.append((char) c); c= scanner.read(); } while (c != ICharacterScanner.EOF && fDetector.isWordPart((char) c)); scanner.unread(); for (int i= 0, n= fMatchers.size(); i < n; i++) { IToken token= fMatchers.get(i).evaluate(scanner, fBuffer); if (!token.isUndefined()) return token; } if (fDefaultToken.isUndefined()) unreadBuffer(scanner); return fDefaultToken; } } scanner.unread(); return Token.UNDEFINED; }
protected List createRules() { List list= new ArrayList(); Token defaultToken= getToken(fDefaultTokenProperty); List matchers= createMatchers(); if (matchers.size() > 0) { CombinedWordRule combinedWordRule= new CombinedWordRule(new AtJavaIdentifierDetector(), defaultToken); for (int i= 0, n= matchers.size(); i < n; i++) combinedWordRule.addWordMatcher((WordMatcher) matchers.get(i)); list.add(combinedWordRule); } setDefaultReturnToken(defaultToken); return list; }
CombinedWordRule combinedWordRule= new CombinedWordRule(wordDetector, defaultToken); j14Matcher.addWord(fgJava14Keywords[i], token); combinedWordRule.addWordMatcher(j14Matcher); fVersionDependentRules.add(j14Matcher); j15Matcher.addWord(fgJava15Keywords[i], token); combinedWordRule.addWordMatcher(j15Matcher); fVersionDependentRules.add(j15Matcher); token= getToken(IJavaColorConstants.JAVA_KEYWORD_RETURN); returnWordRule.addWord(RETURN, token); combinedWordRule.addWordMatcher(returnWordRule); wordRule.addWord(fgConstants[i], token); combinedWordRule.addWordMatcher(wordRule);
CombinedWordRule combinedWordRule= new CombinedWordRule(wordDetector, defaultToken); j14Matcher.addWord(fgJava14Keywords[i], token); combinedWordRule.addWordMatcher(j14Matcher); fVersionDependentRules.add(j14Matcher); j15Matcher.addWord(fgJava15Keywords[i], token); combinedWordRule.addWordMatcher(j15Matcher); fVersionDependentRules.add(j15Matcher); token= getToken(IJavaColorConstants.JAVA_KEYWORD_RETURN); returnWordRule.addWord(RETURN, token); combinedWordRule.addWordMatcher(returnWordRule); wordRule.addWord(fgConstants[i], token); combinedWordRule.addWordMatcher(wordRule);
CombinedWordRule combinedWordRule= new CombinedWordRule(wordDetector, token); j14Matcher.addWord(fgJava14Keywords[i], token); combinedWordRule.addWordMatcher(j14Matcher); fVersionDependentRules.add(j14Matcher); j15Matcher.addWord(fgJava15Keywords[i], token); combinedWordRule.addWordMatcher(j15Matcher); fVersionDependentRules.add(j15Matcher); token= getToken(IJavaColorConstants.JAVA_KEYWORD_RETURN); returnWordRule.addWord(RETURN, token); combinedWordRule.addWordMatcher(returnWordRule); wordRule.addWord(fgConstants[i], token); combinedWordRule.addWordMatcher(wordRule);
CombinedWordRule combinedWordRule= new CombinedWordRule(wordDetector, token); j14Matcher.addWord(fgJava14Keywords[i], token); combinedWordRule.addWordMatcher(j14Matcher); fVersionDependentRules.add(j14Matcher); j15Matcher.addWord(fgJava15Keywords[i], token); combinedWordRule.addWordMatcher(j15Matcher); fVersionDependentRules.add(j15Matcher); token= getToken(IJavaColorConstants.JAVA_KEYWORD_RETURN); combinedWordRule.addWordMatcher(returnWordRule); combinedWordRule.addWordMatcher(wordRule); rules.add(combinedWordRule);